From 011aacb08ecf70c5d4ad1d6976c32a734846ef79 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Tue, 23 Mar 2010 22:05:46 +0000 Subject: Implement -trace-save. * mi-cmds.h (mi_cmds_trace_save): Declare. * mi-cmds.c (mi_cmds): Register -trace-save. * mi/mi-main.c (mi_cmd_trace_save): New. * remote.c (remote_save_trace_data): Take const parameter. * target.h (struct target_ops::to_save_trace_data): Take const parameter. * target.c (update_current_target): Adjust to the above. * tracepoint.c (trave_save): New, extracted from (trace_save_command): ...this. (tfile_trace_find): Remove message that is unnecessary now that 'tfind' reports found frame. * tracepoint.h (trace_save): Declare. --- gdb/mi/mi-main.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gdb/mi/mi-main.c') diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index b016436..340ac68 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -2211,6 +2211,32 @@ mi_cmd_trace_find (char *command, char **argv, int argc) } void +mi_cmd_trace_save (char *command, char **argv, int argc) +{ + int target_saves = 0; + char *filename; + + if (argc != 1 && argc != 2) + error (_("Usage: -trace-save [-r] filename")); + + if (argc == 2) + { + filename = argv[1]; + if (strcmp (argv[0], "-r") == 0) + target_saves = 1; + else + error (_("Invalid option: %s"), argv[0]); + } + else + { + filename = argv[0]; + } + + trace_save (filename, target_saves); +} + + +void mi_cmd_trace_start (char *command, char **argv, int argc) { start_tracing (); -- cgit v1.1