diff options
author | Tim Wiederhake <tim.wiederhake@intel.com> | 2016-11-21 16:39:57 +0100 |
---|---|---|
committer | Tim Wiederhake <tim.wiederhake@intel.com> | 2017-02-14 10:57:56 +0100 |
commit | 45b196c59065cd2c5b750b78a0329d42f6e924b1 (patch) | |
tree | dbd155a854384536701c341d787f1a19cf3d8400 /gdb | |
parent | fdd2bd920bd67e6a1e877baf52b9c138c00da13f (diff) | |
download | gdb-45b196c59065cd2c5b750b78a0329d42f6e924b1.zip gdb-45b196c59065cd2c5b750b78a0329d42f6e924b1.tar.gz gdb-45b196c59065cd2c5b750b78a0329d42f6e924b1.tar.bz2 |
Add record_start and record_stop functions.
Signed-off-by: Tim Wiederhake <tim.wiederhake@intel.com>
gdb/ChangeLog
* record.h (record_start, record_stop): New export.
* record.c (record_start, record_stop): New function.
Change-Id: If235d4bde8ec61dab6dbd23e087430e66d2e91a7
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/record.c | 42 | ||||
-rw-r--r-- | gdb/record.h | 8 |
2 files changed, 50 insertions, 0 deletions
diff --git a/gdb/record.c b/gdb/record.c index 15271b2..eff8fe1 100644 --- a/gdb/record.c +++ b/gdb/record.c @@ -93,6 +93,48 @@ record_preopen (void) /* See record.h. */ +void +record_start (const char *method, const char *format, int from_tty) +{ + if (method == NULL) + { + if (format == NULL) + execute_command_to_string ("record", from_tty); + else + error (_("Invalid format.")); + } + else if (strcmp (method, "full") == 0) + { + if (format == NULL) + execute_command_to_string ("record full", from_tty); + else + error (_("Invalid format.")); + } + else if (strcmp (method, "btrace") == 0) + { + if (format == NULL) + execute_command_to_string ("record btrace", from_tty); + else if (strcmp (format, "bts") == 0) + execute_command_to_string ("record btrace bts", from_tty); + else if (strcmp (format, "pt") == 0) + execute_command_to_string ("record btrace pt", from_tty); + else + error (_("Invalid format.")); + } + else + error (_("Invalid method.")); +} + +/* See record.h. */ + +void +record_stop (int from_tty) +{ + execute_command_to_string ("record stop", from_tty); +} + +/* See record.h. */ + int record_read_memory (struct gdbarch *gdbarch, CORE_ADDR memaddr, gdb_byte *myaddr, diff --git a/gdb/record.h b/gdb/record.h index e1d4aae..cff4506 100644 --- a/gdb/record.h +++ b/gdb/record.h @@ -91,4 +91,12 @@ extern struct target_ops *find_record_target (void); it does anything. */ extern void record_preopen (void); +/* Start recording with the given METHOD and FORMAT. NULL means default method + or format. Throw on failure or invalid method / format. */ +extern void record_start (const char *method, const char *format, + int from_tty); + +/* Stop recording. Throw on failure. */ +extern void record_stop (int from_tty); + #endif /* _RECORD_H_ */ |