Re: [PATCH 1/6] Add a field 'installed' for each location of tracepoint.

Pedro Alves
2012-12-06T20:56:33Z

On 12/04/2012 04:44 AM, Yao Qi wrote:
> Hi, this patch adds a field 'installed' indicating whether a
> location of tracepoint is installed on target. In CLI, the output of
> 'info tracepoint' will be like this,
>
> info trace
> Num Type Disp Enb Address What^M
> 2 tracepoint keep y 0x080485b1 in main at gdb.trace/change-loc.c:29
> installed y

I'd prefer:

2 tracepoint keep y 0x080485b1 in main at gdb.trace/change-loc.c:29
installed on target
3 tracepoint keep y 0x080485b1 in main at gdb.trace/change-loc.c:29
not installed on target

As the other similar cases of more breakpoint info more textual as well:

4 breakpoint keep y 0x0804c8a5 in main at ../../src/gdb/gdb.c:29
breakpoint already hit 1 time

This should be documented in the manual and NEWS, both the CLI changes, and
the MI change (this patch adds the "installed" field to various MI things).

> Of course, the breakpoint related MI notifications are changed as
> well.
>
> gdb:
>
> 2012-12-03 Yao Qi <yao@codesourcery.com>
>
> * breakpoint.c (print_one_breakpoint_location): Add field
> 'installed' for each location of a tracepoint.
> ---
> gdb/breakpoint.c | 11 +++++++++++
> 1 files changed, 11 insertions(+), 0 deletions(-)
>
> diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
> index 53944a6..40d2edd 100644
> --- a/gdb/breakpoint.c
> +++ b/gdb/breakpoint.c
> @@ -6123,6 +6123,17 @@ print_one_breakpoint_location (struct breakpoint *b,
> ui_out_field_int (uiout, "pass", t->pass_count);
> ui_out_text (uiout, " \n");
> }
> +
> + if (!header_of_multiple)
> + {
> + annotate_field (11);
> + ui_out_text (uiout, "\tinstalled ");
> + /* LOC is NULL means the tracepoint is still pending, set
> + field 'installed' 'n'. */
> + ui_out_field_string (uiout, "installed",
> + loc ? (loc->inserted ? "y" : "n") : "n");
> + ui_out_text (uiout, " \n");

Not sure about the pending case. Can you show how does that look like?
Why not just display nothing in that case? How does the MI output look
like in the pending case?

> + }
> }
>
> if (ui_out_is_mi_like_p (uiout) && !part_of_multiple)
>

--
Pedro Alves