aboutsummaryrefslogtreecommitdiff
path: root/gdb/target.h
diff options
context:
space:
mode:
authorMarkus Metzger <mmetzger@sourceware.org>2013-03-11 08:50:05 +0000
committerMarkus Metzger <mmetzger@sourceware.org>2013-03-11 08:50:05 +0000
commit15984c13c729e1f05eb789a3883df82994d5a593 (patch)
treef80d1649597fb49b4f33b80f3845f724565a1d34 /gdb/target.h
parent67c86d068313124e6c73e6ec0294866fc0471268 (diff)
downloadgdb-15984c13c729e1f05eb789a3883df82994d5a593.zip
gdb-15984c13c729e1f05eb789a3883df82994d5a593.tar.gz
gdb-15984c13c729e1f05eb789a3883df82994d5a593.tar.bz2
Add command to print the function names from recorded instructions.
This command provides a quick high-level overview over the recorded execution log at function granularity without having to reverse-step. gdb/ * target.c (target_call_history, target_call_history_from, target_call_history_range): New. * target.h (target_ops) <to_call_history, to_call_history_from, to_call_history_range>: New fields. (target_call_history, target_call_history_from, target_call_history_range): New declaration. * record.c (get_call_history_modifiers, cmd_record_call_history, record_call_history_size): New. (_initialize_record): Add the "record function-call-history" command. Add "set/show record function-call-history-size" commands. * record.h (record_print_flag): New.
Diffstat (limited to 'gdb/target.h')
-rw-r--r--gdb/target.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/gdb/target.h b/gdb/target.h
index 32c434b..c030ee6 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -922,6 +922,21 @@ struct target_ops
BEGIN (inclusive) to instruction END (exclusive). */
void (*to_insn_history_range) (ULONGEST begin, ULONGEST end, int flags);
+ /* Print a function trace of the recorded execution trace.
+ If SIZE < 0, print abs (SIZE) preceding functions; otherwise, print SIZE
+ succeeding functions. */
+ void (*to_call_history) (int size, int flags);
+
+ /* Print a function trace of the recorded execution trace starting
+ at function FROM.
+ If SIZE < 0, print abs (SIZE) functions before FROM; otherwise, print
+ SIZE functions after FROM. */
+ void (*to_call_history_from) (ULONGEST begin, int size, int flags);
+
+ /* Print a function trace of an execution trace section from function BEGIN
+ (inclusive) to function END (exclusive). */
+ void (*to_call_history_range) (ULONGEST begin, ULONGEST end, int flags);
+
int to_magic;
/* Need sub-structure for target machine related rather than comm related?
*/
@@ -2022,4 +2037,13 @@ extern void target_insn_history_from (ULONGEST from, int size, int flags);
/* See to_insn_history_range. */
extern void target_insn_history_range (ULONGEST begin, ULONGEST end, int flags);
+/* See to_call_history. */
+extern void target_call_history (int size, int flags);
+
+/* See to_call_history_from. */
+extern void target_call_history_from (ULONGEST begin, int size, int flags);
+
+/* See to_call_history_range. */
+extern void target_call_history_range (ULONGEST begin, ULONGEST end, int flags);
+
#endif /* !defined (TARGET_H) */