forked from Imagelibrary/binutils-gdb
* NEWS: Mention tracepoint additions.
* breakpoint.h (struct tracepoint): New field traceframe_usage. * breakpoint.c (print_one_breakpoint_location): Identify tracepoints as such when reporting hit counts, report trace buffer usage. (create_tracepoint_from_upload): Copy status info. * tracepoint.h (struct trace_status): Rename error_desc to stop_desc, add fields user_name, notes, start_time, stop_time. (struct uploaded_tp): Add fields hit_count, traceframe_usage. * tracepoint.c (trace_user): New global. (trace_notes): New global. (trace_stop_notes): New global. (start_tracing): Add argument and trace note handling. (stop_tracing): Ditto. (trace_start_command): Add notes argument. (trace_stop_command): Ditto. (trace_status_command): Report additional status info. (trace_status_mi): Similarly. (trace_save): Update, record tracepoint status. (set_disconnected_tracing): Call target method directly. (send_disconnected_tracing_value): Remove. (set_trace_user): New function. (set_trace_notes): New function. (set_trace_stop_notes): New function. (parse_trace_status): Handle additional status. (parse_tracepoint_status): New function. (parse_tracepoint_definition): Call it. (tfile_get_tracepoint_status): New function. (init_tfile_ops): Use it. (_initialize_tracepoint): Add new setshows. * target.h (struct target_ops): New methods to_get_tracepoint_status and to_set_trace_notes. (target_get_tracepoint_status): New macro. (target_set_trace_notes): New macro. * target.c (update_current_target): Add new methods. * remote.c (remote_get_tracepoint_status): New function. (remote_set_trace_notes): New function. (init_remote_ops): Add them. * mi/mi-main.c (mi_cmd_trace_start): Add argument to call. (mi_cmd_trace_stop): Ditto. * tracepoint.c (struct tracepoint): New field traceframe_usage. (tracing_start_time): New global. (tracing_stop_time): New global. (tracing_user_name): New global. (tracing_notes): New global. (tracing_stop_note): New global. (cmd_qtstart): Set traceframe_usage, start_time. (stop_tracing): Set stop_time. (cmd_qtstatus): Report additional status. (cmd_qtp): New function. (handle_tracepoint_query): Call it. (cmd_qtnotes): New function. (handle_tracepoint_general_set): Call it. (get_timestamp): Rename from tsv_get_timestamp. * gdb.texinfo (Starting and Stopping Trace Experiments): Document note-related options and variables. (Tracepoint Packets): Document packet changes. * gdb.trace/tstatus.exp: New. * gdb.trace/actions.c: Include string.h.
This commit is contained in:
@@ -4879,6 +4879,8 @@ print_one_breakpoint_location (struct breakpoint *b,
|
||||
/* FIXME should make an annotation for this. */
|
||||
if (ep_is_catchpoint (b))
|
||||
ui_out_text (uiout, "\tcatchpoint");
|
||||
else if (is_tracepoint (b))
|
||||
ui_out_text (uiout, "\ttracepoint");
|
||||
else
|
||||
ui_out_text (uiout, "\tbreakpoint");
|
||||
ui_out_text (uiout, " already hit ");
|
||||
@@ -4903,6 +4905,18 @@ print_one_breakpoint_location (struct breakpoint *b,
|
||||
ui_out_text (uiout, " hits\n");
|
||||
}
|
||||
|
||||
if (!part_of_multiple && is_tracepoint (b))
|
||||
{
|
||||
struct tracepoint *tp = (struct tracepoint *) b;
|
||||
|
||||
if (tp->traceframe_usage)
|
||||
{
|
||||
ui_out_text (uiout, "\ttrace buffer usage ");
|
||||
ui_out_field_int (uiout, "traceframe-usage", tp->traceframe_usage);
|
||||
ui_out_text (uiout, " bytes\n");
|
||||
}
|
||||
}
|
||||
|
||||
l = b->commands ? b->commands->commands : NULL;
|
||||
if (!part_of_multiple && l)
|
||||
{
|
||||
@@ -12904,6 +12918,10 @@ create_tracepoint_from_upload (struct uploaded_tp *utp)
|
||||
"have no source form, ignoring them"),
|
||||
utp->number);
|
||||
|
||||
/* Copy any status information that might be available. */
|
||||
tp->base.hit_count = utp->hit_count;
|
||||
tp->traceframe_usage = utp->traceframe_usage;
|
||||
|
||||
return tp;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user