diff options
author | Stan Shebs <shebs@codesourcery.com> | 2010-01-06 20:31:28 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 2010-01-06 20:31:28 +0000 |
commit | d5551862dfa8c22746642b9a7f66b076557a0325 (patch) | |
tree | 7af2dbf86156804de50363834b2290d3a999b7ec /gdb/infcmd.c | |
parent | 30fd33bb933183e837b6709e189f1122333b95e2 (diff) | |
download | binutils-d5551862dfa8c22746642b9a7f66b076557a0325.zip binutils-d5551862dfa8c22746642b9a7f66b076557a0325.tar.gz binutils-d5551862dfa8c22746642b9a7f66b076557a0325.tar.bz2 |
Support disconnected tracing.
* infcmd.c (detach_command): Ask whether to stop tracing.
* cli/cli-cmds.c (quit_command): Ditto.
* breakpoint.h (struct breakpoint): New field number_on_target.
* breakpoint.c (create_tracepoint_from_upload): New function.
(get_tracepoint_by_number_on_target): New function.
* remote.c (struct remote): New field disconnected_tracing.
(remote_disconnected_tracing_feature): New function.
(remote_protocol_features): Add DisconnectedTracing.
(struct uploaded_tp): New struct.
(uploaded_tps): New global.
(get_uploaded_tp): New function.
(find_matching_tracepoint): New function.
(remote_get_tracing_state): New function.
(remote_start_remote): Call it.
* tracepoint.c (disconnected_tracing): New global.
(trace_start_command): Initialize number_on_target.
(stop_tracing): New function, split out from...
(trace_stop_command): Call stop_tracing.
(get_trace_status): New function, split out from...
(trace_status_command): Call get_trace_status, add info on
disconnection behavior.
(disconnect_or_stop_tracing): New function.
(finish_tfind_command): Translate from number on target.
(trace_find_tracepoint_command): Translate to number on target.
(send_disconnected_tracing_value): New function.
(set_disconnected_tracing): New function.
(_initialize_tracepoint): Add disconnected-tracing variable.
* NEWS: Mention disconnected tracing.
* gdb.texinfo (Starting and Stopping Trace Experiments): Document
disconnected tracing.
(Tracepoint Packets): Document new protocol.
Diffstat (limited to 'gdb/infcmd.c')
-rw-r--r-- | gdb/infcmd.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/infcmd.c b/gdb/infcmd.c index 4c4781f..821ae5f 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -55,6 +55,8 @@ #include "valprint.h" #include "inline-frame.h" +extern void disconnect_or_stop_tracing (int from_tty); + /* Functions exported for general use, in inferior.h: */ void all_registers_info (char *, int); @@ -2505,6 +2507,8 @@ detach_command (char *args, int from_tty) if (ptid_equal (inferior_ptid, null_ptid)) error (_("The program is not being run.")); + disconnect_or_stop_tracing (from_tty); + target_detach (args, from_tty); /* If the solist is global across inferiors, don't clear it when we |