reverse execution part of the manual is written backwards

Pedro Alves palves@redhat.com
Wed Apr 10 11:51:00 GMT 2019


On 4/10/19 5:19 AM, Paul Eggert wrote:
> [resent from https://sourceware.org/bugzilla/show_bug.cgi?id=24417]
> 
> At least two Emacs developers were confused by GDB's documentation for reverse execution. One said he could never get it to work and recommended another debugger instead since it always worked for him. We tracked down the issue to a problem in GDB's documentation: it documents how to do reverse execution, but never mentions until a later section that you can't use reverse execution unless you first turn on process recording.
> 
> Surely it's not intended that one must read the GDB documentation backwards in order to know how to do reverse execution....
> 
> Proposed patch follows. This is just a minor doc patch so I assume no ChangeLog entry is needed.
> 
> diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
> index f410d026b8..147c7c0f37 100644
> --- a/gdb/doc/gdb.texinfo
> +++ b/gdb/doc/gdb.texinfo
> @@ -6697,8 +6697,11 @@ assumes that the memory and registers that the target reports are in a
>  consistant state, but @value{GDBN} accepts whatever it is given.
>  }.
> 
> -If you are debugging in a target environment that supports
> -reverse execution, @value{GDBN} provides the following commands.
> +Before using reverse execution, you should first use the @code{record}
> +command, so that instructions executed by the program are saved for
> +reverse execution later.  @xref{Process Record and Replay}.
> +@value{GDBN} provides the following commands to examine the process
> +record and execute the program in reverse.

This is not correct.  "record" is one way to support reverse execution,
but there are others.  For example, "record" is an alias for "record full".
"record btrace" also supports reverse debugging.  And then there are
remote targets that suppose reverse debugging natively, like system emulators,
and you won't type "record" with those at all.  Mozilla's RR is another
example.  

https://www.gnu.org/software/gdb/news/reversible.html

> 
>  @table @code
>  @kindex reverse-continue
Thanks,
Pedro Alves



More information about the Gdb-patches mailing list