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

Pedro Alves palves@redhat.com
Thu Dec 6 20:56:00 GMT 2012


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



More information about the Gdb-patches mailing list