This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [doc/RFA] Describe reverse execution with process record and replay


This is great!

Thanks,
Hui

On Thu, May 7, 2009 at 03:42, Eli Zaretskii <eliz@gnu.org> wrote:
> Would people please eyeball the text below and see if my understanding
> of the code and what's been said here recently is correct?
>
> 2009-05-06 ?Eli Zaretskii ?<eliz@gnu.org>
>
> ? ? ? ?* gdb.texinfo (Process Record and Replay): Add description of
> ? ? ? ?reverse execution.
>
> Index: gdb/doc/gdb.texinfo
> ===================================================================
> RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
> retrieving revision 1.589
> diff -u -r1.589 gdb.texinfo
> --- gdb/doc/gdb.texinfo 1 May 2009 09:11:24 -0000 ? ? ? 1.589
> +++ gdb/doc/gdb.texinfo 6 May 2009 19:40:37 -0000
> @@ -5008,10 +5008,9 @@
> ?@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 @@
> ?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 @@
> ?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:
>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]