From 8e05493cd625c04d85e833687f6b33315b12dd75 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 8 May 2009 09:47:54 +0000 Subject: [PATCH] * gdb.texinfo (Process Record and Replay): Add description of reverse execution. --- gdb/doc/ChangeLog | 5 +++++ gdb/doc/gdb.texinfo | 22 +++++++++++++++++----- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 8cb4fc29545..88ec627916a 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +2009-05-08 Eli Zaretskii + + * gdb.texinfo (Process Record and Replay): Add description of + reverse execution. + 2009-05-07 Joel Brobecker * gdbint.texinfo (Adding support for debugging core files): New node. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 6eca830cc2a..4f5b65994d4 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -5008,10 +5008,9 @@ This is the default. @cindex process record and replay @cindex recording inferior's execution and replaying it -In an architecture environment that supports process recording and -replay, a special @dfn{process record and replay} target can record a -log of the process execution, and replay it later with both forward -and reverse execution commands. +On some platforms, @value{GDBN} provides a special @dfn{process record +and replay} target that can record a log of the process execution, and +replay it later with both forward and reverse execution commands. @cindex replay mode When this target is in use, if the execution log includes the record @@ -5021,7 +5020,8 @@ instructions. Instead, all the events that normally happen during code execution are taken from the execution log. While code is not really executed in replay mode, the values of registers (including the program counter register) and the memory of the inferior are still -changed as they normally would. +changed as they normally would. Their contents are taken from the +execution log. @cindex record mode If the record for the next instruction is not in the execution log, @@ -5029,6 +5029,18 @@ If the record for the next instruction is not in the execution log, inferior executes normally, and @value{GDBN} records the execution log for future replay. +The process record and replay target supports reverse execution +(@pxref{Reverse Execution}), even if the platform on which the +inferior runs does not. However, the reverse execution is limited in +this case by the range of the instructions recorded in the execution +log. In other words, reverse execution on platforms that don't +support it directly can only be done in the replay mode. + +When debugging in the reverse direction, @value{GDBN} will work in +replay mode as long as the execution log includes the record for the +previous instruction; otherwise, it will work in record mode, if the +platform supports reverse execution, or stop if not. + For architecture environments that support process record and replay, @value{GDBN} provides the following commands: -- 2.30.2