2012-03-08 Stan Shebs <stan@codesourcery.com>
Hafiz Abid Qadeer <abidh@codesourcery.com> gdb/ * NEWS: Mention set and show trace-buffer-size commands. Mention new packet. * target.h (struct target_ops): New method to_set_trace_buffer_size. (target_set_trace_buffer_size): New macro. * target.c (update_current_target): Set up new method. * tracepoint.c (trace_buffer_size): New global. (start_tracing): Send it to the target. (set_trace_buffer_size): New function. (_initialize_tracepoint): Add new setshow for trace-buffer-size. * remote.c (remote_set_trace_buffer_size): New function. (_initialize_remote): Use it. (QTBuffer:size) New remote command. (PACKET_QTBuffer_size): New enum. (remote_protocol_features): Add an entry for PACKET_QTBuffer_size. gdb/gdbserver/ * tracepoint.c (trace_buffer_size): New global. (DEFAULT_TRACE_BUFFER_SIZE): New define. (init_trace_buffer): Change to one-argument function. Allocate trace buffer memory. (handle_tracepoint_general_set): Call cmd_bigqtbuffer_size to handle QTBuffer:size packet. (cmd_bigqtbuffer_size): New function. (initialize_tracepoint): Call init_trace_buffer with DEFAULT_TRACE_BUFFER_SIZE. * server.c (handle_query): Add QTBuffer:size in the supported packets. gdb/doc/ * gdb.texinfo (Starting and Stopping Trace Experiments): Document trace-buffer-size set and show commands. (Tracepoint Packets): Document QTBuffer:size. (General Query Packets): Document QTBuffer:size. gdb/testsuite/ * gdb.trace/trace-buffer-size.exp: New file. * gdb.trace/trace-buffer-size.c: New file.
This commit is contained in:
parent
7da3ab7920
commit
f6f899bfc5
14 changed files with 360 additions and 6 deletions
|
@ -170,6 +170,11 @@ static int disconnected_tracing;
|
|||
|
||||
static int circular_trace_buffer;
|
||||
|
||||
/* This variable is the requested trace buffer size, or -1 to indicate
|
||||
that we don't care and leave it up to the target to set a size. */
|
||||
|
||||
static int trace_buffer_size = -1;
|
||||
|
||||
/* Textual notes applying to the current and/or future trace runs. */
|
||||
|
||||
char *trace_user = NULL;
|
||||
|
@ -1819,6 +1824,7 @@ start_tracing (char *notes)
|
|||
/* Set some mode flags. */
|
||||
target_set_disconnected_tracing (disconnected_tracing);
|
||||
target_set_circular_trace_buffer (circular_trace_buffer);
|
||||
target_set_trace_buffer_size (trace_buffer_size);
|
||||
|
||||
if (!notes)
|
||||
notes = trace_notes;
|
||||
|
@ -3216,6 +3222,13 @@ set_circular_trace_buffer (char *args, int from_tty,
|
|||
target_set_circular_trace_buffer (circular_trace_buffer);
|
||||
}
|
||||
|
||||
static void
|
||||
set_trace_buffer_size (char *args, int from_tty,
|
||||
struct cmd_list_element *c)
|
||||
{
|
||||
target_set_trace_buffer_size (trace_buffer_size);
|
||||
}
|
||||
|
||||
static void
|
||||
set_trace_user (char *args, int from_tty,
|
||||
struct cmd_list_element *c)
|
||||
|
@ -5409,6 +5422,16 @@ up and stopping the trace run."),
|
|||
&setlist,
|
||||
&showlist);
|
||||
|
||||
add_setshow_zuinteger_unlimited_cmd ("trace-buffer-size", no_class,
|
||||
&trace_buffer_size, _("\
|
||||
Set requested size of trace buffer."), _("\
|
||||
Show requested size of trace buffer."), _("\
|
||||
Use this to choose a size for the trace buffer. Some targets\n\
|
||||
may have fixed or limited buffer sizes. A value of -1 disables\n\
|
||||
any attempt to set the buffer size and lets the target choose."),
|
||||
set_trace_buffer_size, NULL,
|
||||
&setlist, &showlist);
|
||||
|
||||
add_setshow_string_cmd ("trace-user", class_trace,
|
||||
&trace_user, _("\
|
||||
Set the user name to use for current and future trace runs"), _("\
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue