* gdb.texinfo (Process Record and Replay): Add description of
authorEli Zaretskii <eliz@gnu.org>
Fri, 8 May 2009 09:47:54 +0000 (09:47 +0000)
committerEli Zaretskii <eliz@gnu.org>
Fri, 8 May 2009 09:47:54 +0000 (09:47 +0000)
reverse execution.

gdb/doc/ChangeLog
gdb/doc/gdb.texinfo

index 8cb4fc2..88ec627 100644 (file)
@@ -1,3 +1,8 @@
+2009-05-08  Eli Zaretskii  <eliz@gnu.org>
+
+       * gdb.texinfo (Process Record and Replay): Add description of
+       reverse execution.
+
 2009-05-07  Joel Brobecker  <brobecker@adacore.com>
 
        * gdbint.texinfo (Adding support for debugging core files): New node.
index 6eca830..4f5b659 100644 (file)
@@ -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: