diff options
author | Markus Metzger <mmetzger@sourceware.org> | 2013-03-11 08:50:05 +0000 |
---|---|---|
committer | Markus Metzger <mmetzger@sourceware.org> | 2013-03-11 08:50:05 +0000 |
commit | 15984c13c729e1f05eb789a3883df82994d5a593 (patch) | |
tree | f80d1649597fb49b4f33b80f3845f724565a1d34 /gdb/target.h | |
parent | 67c86d068313124e6c73e6ec0294866fc0471268 (diff) | |
download | gdb-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.h | 24 |
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) */ |