aboutsummaryrefslogtreecommitdiff
path: root/gdb/infcmd.c
diff options
context:
space:
mode:
authorStan Shebs <shebs@codesourcery.com>2010-01-06 20:31:28 +0000
committerStan Shebs <shebs@codesourcery.com>2010-01-06 20:31:28 +0000
commitd5551862dfa8c22746642b9a7f66b076557a0325 (patch)
tree7af2dbf86156804de50363834b2290d3a999b7ec /gdb/infcmd.c
parent30fd33bb933183e837b6709e189f1122333b95e2 (diff)
downloadgdb-d5551862dfa8c22746642b9a7f66b076557a0325.zip
gdb-d5551862dfa8c22746642b9a7f66b076557a0325.tar.gz
gdb-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.c4
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