diff options
author | Markus Metzger <markus.t.metzger@intel.com> | 2014-02-03 14:35:28 +0100 |
---|---|---|
committer | Markus Metzger <markus.t.metzger@intel.com> | 2015-07-02 12:56:29 +0200 |
commit | b0627500e819fcaaa42538046b0bf069a7c2edc5 (patch) | |
tree | 81c3957314de7320ff4c9d332a1734702a10484b /gdb/doc | |
parent | 9be54cae43929ab989fcd44dfcf8d3313a55f7a0 (diff) | |
download | gdb-b0627500e819fcaaa42538046b0bf069a7c2edc5.zip gdb-b0627500e819fcaaa42538046b0bf069a7c2edc5.tar.gz gdb-b0627500e819fcaaa42538046b0bf069a7c2edc5.tar.bz2 |
btrace: maintenance commands
Add maintenance commands that help debugging the btrace record target.
The following new commands are added:
maint info btrace
Print information about branch tracing internals.
maint btrace packet-history
Print the raw branch tracing data.
maint btrace clear-packet-history
Discard the stored raw branch tracing data.
maint btrace clear
Discard all branch tracing data. It will be fetched and processed
anew by the next "record" command.
maint set|show btrace pt skip-pad
Set and show whether PAD packets are skipped when computing the
packet history.
gdb/
* btrace.c: Include gdbcmd.h, cli/cli-utils.h, and ctype.h.
(maint_btrace_cmdlist, maint_btrace_set_cmdlist)
(maint_btrace_show_cmdlist, maint_btrace_pt_set_cmdlist)
(maint_btrace_pt_show_cmdlist, maint_btrace_pt_skip_pad)
(btrace_maint_clear): New.
(btrace_fetch, btrace_clear): Call btrace_maint_clear.
(pt_print_packet, btrace_maint_decode_pt)
(btrace_maint_update_pt_packets, btrace_maint_update_packets)
(btrace_maint_print_packets, get_uint, get_context_size, no_chunk)
(maint_btrace_packet_history_cmd)
(maint_btrace_clear_packet_history_cmd, maint_btrace_clear_cmd)
(maint_btrace_cmd, maint_btrace_set_cmd, maint_btrace_show_cmd)
(maint_btrace_pt_set_cmd, maint_btrace_pt_show_cmd)
(maint_info_btrace_cmd, _initialize_btrace): New.
* btrace.h (btrace_pt_packet, btrace_pt_packet_s)
(btrace_maint_packet_history, btrace_maint_info): New.
(btrace_thread_info) <maint>: New.
* NEWS: Announce it.
doc/
* gdb.texinfo (Maintenance Commands): Document "maint btrace"
commands.
Diffstat (limited to 'gdb/doc')
-rw-r--r-- | gdb/doc/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 60 |
2 files changed, 65 insertions, 0 deletions
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 6d898f3..18d9039 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,5 +1,10 @@ 2015-07-02 Markus Metzger <markus.t.metzger@intel.com> + * gdb.texinfo (Maintenance Commands): Document "maint btrace" + commands. + +2015-07-02 Markus Metzger <markus.t.metzger@intel.com> + * gdb.texinfo (Process Record and Replay): Spell out that variables and registers are not available during btrace replay. Describe the new "record btrace pt" command. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index a19ee6d..812917b 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -33980,6 +33980,66 @@ Shared library events. This prints information about each @code{bfd} object that is known to @value{GDBN}. @xref{Top, , BFD, bfd, The Binary File Descriptor Library}. +@kindex maint info btrace +@item maint info btrace +Pint information about raw branch tracing data. + +@kindex maint btrace packet-history +@item maint btrace packet-history +Print the raw branch trace packets that are used to compute the +execution history for the @samp{record btrace} command. Both the +information and the format in which it is printed depend on the btrace +recording format. + +@table @code +@item bts +For the BTS recording format, print a list of blocks of sequential +code. For each block, the following information is printed: + +@table @asis +@item Block number +Newer blocks have higher numbers. The oldest block has number zero. +@item Lowest @samp{PC} +@item Highest @samp{PC} +@end table + +@item pt +For the Intel(R) Processor Trace recording format, print a list of +Intel(R) Processor Trace packets. For each packet, the following +information is printed: + +@table @asis +@item Packet number +Newer packets have higher numbers. The oldest packet has number zero. +@item Trace offset +The packet's offset in the trace stream. +@item Packet opcode and payload +@end table +@end table + +@kindex maint btrace clear-packet-history +@item maint btrace clear-packet-history +Discards the cached packet history printed by the @samp{maint btrace +packet-history} command. The history will be computed again when +needed. + +@kindex maint btrace clear +@item maint btrace clear +Discard the branch trace data. The data will be fetched anew and the +branch trace will be recomputed when needed. + +This implicitly truncates the branch trace to a single branch trace +buffer. When updating branch trace incrementally, the branch trace +available to @value{GDBN} may be bigger than a single branch trace +buffer. + +@kindex maint set btrace pt skip-pad +@item maint set btrace pt skip-pad +@kindex maint show btrace pt skip-pad +@item maint show btrace pt skip-pad +Control whether @value{GDBN} will skip PAD packets when computing the +packet history. + @kindex set displaced-stepping @kindex show displaced-stepping @cindex displaced stepping support |