Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [reverse RFC] Add documentation for process record and replay
@ 2008-10-14 15:01 teawater
  2008-10-14 16:34 ` Eli Zaretskii
  0 siblings, 1 reply; 26+ messages in thread
From: teawater @ 2008-10-14 15:01 UTC (permalink / raw)
  To: gdb-patches, Michael Snyder

[-- Attachment #1: Type: text/plain, Size: 170 bytes --]

Hi Michael,

This patch add doc to gdb.texinfo.

2008-10-14  Hui Zhu  <teawater@gmail.com>

	* gdb.texinfo: Add documentation for process record and replay.

Thanks,
Hui

[-- Attachment #2: rec_doc.txt --]
[-- Type: text/plain, Size: 4690 bytes --]

--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-10-14  Hui Zhu  <teawater@gmail.com>
+
+	* gdb.texinfo: Add documentation for process record and replay.
+
 2008-09-30  Michael Snyder  <msnyder@vmware.com>
 
 	* gdb.texinfo: Add documentation for reverse execution.
--- a/gdb.texinfo
+++ b/gdb.texinfo
@@ -144,6 +144,7 @@ software in general.  We will miss him.
 * Running::                     Running programs under @value{GDBN}
 * Stopping::                    Stopping and continuing
 * Reverse Execution::           Running programs backward
+* Process record and replay::   Recording programs running message and replay it
 * Stack::                       Examining the stack
 * Source::                      Examining source files
 * Data::                        Examining data
@@ -4963,6 +4964,96 @@ This is the default.
 @end table
 
 
+@node Process record and replay
+@chapter Recording programs running message and replay it
+@cindex process record and replay
+@cindex recording programs running message and replay it
+
+In a architecture environment that supports process record and replay,
+process record and replay target can record a log of the process execution,
+and replay it with both forward and reverse execute commands.
+
+When this target is in use, if the next instruction to be executed is in the
+execution log, @value{GDBN} will debug in replay mode so that all the
+execution events are taken from the execution log.  Otherwise, @value{GDBN}
+will debug in record mode and record the execution log while executing
+normally.
+
+If you are debugging in a architecture environment that supports
+process record and replay, @value{GDBN} provides the following commands.
+
+@table @code
+@kindex target record
+@kindex record
+@kindex rec
+@item target record
+This a standard command to start process record and replay target.
+Process record and replay target can only debug a process that already
+running. Therefore you need to first start the process @code{run},
+and then start the recording @code{record}.
+
+@kindex stoprecord
+@kindex sr
+@item stoprecord
+Stop process record and replay target at once. When Process record and
+replay target stops, all the execution log will be deleted and the inferior
+will either be terminated, or remain in its final state.
+
+When you stop the process record and replay target in record mode (at the
+end of the execution log), the inferior will be stopped at the next
+instruction that would have been recorded. In other words, if you record
+for a while and then stop recording, the inferior process will be left in
+the same state as if you had never done any recording.
+
+On the other hand, if the process record and replay target is stopped while
+in replay mode (that is, not at the end of the execution log but at some
+earlier point), the inferior process will become "live" at that earlier state,
+and it will then be possible to continue debugging the process "live" from
+that state.
+
+When the inferior process exits, or @value{GDBN} detaches from it, process
+record and replay target will automatically stop itself.
+
+@kindex set record-auto-delete
+@item set record-auto-delete
+@itemx set record-auto-delete 1
+Set the behavior when record instructions limit is reached. 1 mean that GDB
+will auto delete the oldest record to make room for each new one.
+
+@item set record-auto-delete 0
+0 is the default value, meaning that @value{GDBN} will stop the inferior.
+
+@kindex show record-auto-delete
+@item show record-auto-delete
+Show the value of record-auto-delete.
+
+@kindex set record-insn-number-max @var{limit}
+@item set record-insn-number-max @var{limit}
+Set the limit of instructions to be recorded.  Default value is 200000.
+If set to 0, record instructions number limit function will disable.
+In this case, if record instructions number is bigger than @var{limit},
+@value{GDBN} will auto delete the earliest recorded instruction to make room
+for each new one.
+
+@kindex show record-insn-number-max
+@item show record-insn-number-max
+Show the value of recorded instructions limit.
+
+@kindex info record-insn-number
+@item info record-insn-number
+Show the current number of recorded instructions.
+
+@kindex delrecord
+@kindex dr
+@item delrecord
+When record target running in replay mode ("in the past"), delete the
+subsequent execution log and begin to record a new execution log starting
+from the current address. This has much the same effect as "changing the past"
+(see "Set values of variables", above); it means you will abandon the
+previously recorded "future" and begin recording a new "future".
+@end table
+
+
 @node Stack
 @chapter Examining the Stack
 

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2008-10-23  3:06 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-10-14 15:01 [reverse RFC] Add documentation for process record and replay teawater
2008-10-14 16:34 ` Eli Zaretskii
2008-10-15  5:51   ` teawater
2008-10-15  7:24     ` Eli Zaretskii
2008-10-15  7:34       ` teawater
2008-10-15  8:15         ` Eli Zaretskii
2008-10-15  8:41           ` teawater
2008-10-15  9:33             ` Eli Zaretskii
2008-10-15 18:52       ` Michael Snyder
2008-10-15 19:45         ` Eli Zaretskii
2008-10-16  2:10           ` teawater
2008-10-16  7:02             ` Eli Zaretskii
2008-10-16  7:05               ` teawater
2008-10-16  7:35                 ` teawater
2008-10-16 18:42                   ` Eli Zaretskii
2008-10-17  3:18                     ` teawater
2008-10-17 10:07                       ` Eli Zaretskii
2008-10-17 15:16                         ` teawater
2008-10-17 19:32                         ` Jakob Engblom
2008-10-17 19:44                           ` Michael Snyder
2008-10-17 19:49                           ` Eli Zaretskii
2008-10-18  1:21                             ` teawater
2008-10-18  1:44                             ` teawater
2008-10-22  2:39                             ` teawater
2008-10-22 19:50                               ` Eli Zaretskii
2008-10-23  3:06                                 ` teawater

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox