diff options
author | Markus Metzger <markus.t.metzger@intel.com> | 2013-04-18 10:58:05 +0200 |
---|---|---|
committer | Markus Metzger <markus.t.metzger@intel.com> | 2014-01-16 13:03:41 +0100 |
commit | 8710b7097e6564969c5e417007a438d8f4ab710e (patch) | |
tree | 00b37f15730004fbe24fd7df0159c4f87ccc214c /gdb/record.c | |
parent | d0fa75352b7ffd586499d28983bff5d714e5211a (diff) | |
download | gdb-8710b7097e6564969c5e417007a438d8f4ab710e.zip gdb-8710b7097e6564969c5e417007a438d8f4ab710e.tar.gz gdb-8710b7097e6564969c5e417007a438d8f4ab710e.tar.bz2 |
record-btrace: optionally indent function call history
Add a new modifier /c to the "record function-call-history" command to
indent the function name based on its depth in the call stack.
Also reorder the optional fields to have the indentation at the very beginning.
Prefix the insn range (/i modifier) with "inst ".
Prefix the source line (/l modifier) with "at ".
Change the range syntax from "begin-end" to "begin,end" to allow copy&paste to
the "record instruction-history" and "list" commands.
Adjust the respective tests and add new tests for the /c modifier.
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
* record.h (enum record_print_flag)
<record_print_indent_calls>: New.
* record.c (get_call_history_modifiers): Recognize /c modifier.
(_initialize_record): Document /c modifier.
* record-btrace.c (btrace_call_history): Add btinfo parameter.
Reorder fields. Optionally indent the function name. Update
all users.
* NEWS: Announce changes.
testsuite/
* gdb.btrace/function_call_history.exp: Fix expected field
order for "record function-call-history".
Add new tests for "record function-call-history /c".
* gdb.btrace/exception.cc: New.
* gdb.btrace/exception.exp: New.
* gdb.btrace/tailcall.exp: New.
* gdb.btrace/x86-tailcall.S: New.
* gdb.btrace/x86-tailcall.c: New.
* gdb.btrace/unknown_functions.c: New.
* gdb.btrace/unknown_functions.exp: New.
* gdb.btrace/Makefile.in (EXECUTABLES): Add new.
doc/
* gdb.texinfo (Process Record and Replay): Document new /c
modifier accepted by "record function-call-history".
Add /i modifier to "record function-call-history" example.
Diffstat (limited to 'gdb/record.c')
-rw-r--r-- | gdb/record.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/record.c b/gdb/record.c index f2cfcc8..4c67192 100644 --- a/gdb/record.c +++ b/gdb/record.c @@ -586,6 +586,9 @@ get_call_history_modifiers (char **arg) case 'i': modifiers |= RECORD_PRINT_INSN_RANGE; break; + case 'c': + modifiers |= RECORD_PRINT_INDENT_CALLS; + break; default: error (_("Invalid modifier: %c."), *args); } @@ -820,6 +823,7 @@ function.\n\ Without modifiers, it prints the function name.\n\ With a /l modifier, the source file and line number range is included.\n\ With a /i modifier, the instruction number range is included.\n\ +With a /c modifier, the output is indented based on the call stack depth.\n\ With no argument, prints ten more lines after the previous ten-line print.\n\ \"record function-call-history -\" prints ten lines before a previous ten-line \ print.\n\ |