Improve reverse debugging docs, mention built-in support and supports archs

gdb/doc/ChangeLog:
2019-04-22  Pedro Alves  <palves@redhat.com>

	* gdb.texinfo (Reverse Execution): Mention and xref process record
	and replay.  Mention remote and system emulators.
	(Process Record and Replay): List supported architectures.
	Mention that "record btrace" is only supported on Intel
	processors.
This commit is contained in:
Pedro Alves 2019-04-22 12:42:21 +01:00
parent 1ce0f4f242
commit 73f8a59086
2 changed files with 27 additions and 7 deletions

View File

@ -1,3 +1,11 @@
2019-04-22 Pedro Alves <palves@redhat.com>
* gdb.texinfo (Reverse Execution): Mention and xref process record
and replay. Mention remote and system emulators.
(Process Record and Replay): List supported architectures.
Mention that "record btrace" is only supported on Intel
processors.
2019-04-17 Alan Hayward <alan.hayward@arm.com> 2019-04-17 Alan Hayward <alan.hayward@arm.com>
* gdb.texinfo (Other Command-Line Arguments for gdbserver) * gdb.texinfo (Other Command-Line Arguments for gdbserver)

View File

@ -6697,6 +6697,12 @@ assumes that the memory and registers that the target reports are in a
consistant state, but @value{GDBN} accepts whatever it is given. consistant state, but @value{GDBN} accepts whatever it is given.
}. }.
On some platforms, @value{GDBN} has built-in support for reverse
execution, activated with the @code{record} or @code{record btrace}
commands. @xref{Process Record and Replay}. Some remote targets,
typically full system emulators, support reverse execution directly
without requiring any special command.
If you are debugging in a target environment that supports If you are debugging in a target environment that supports
reverse execution, @value{GDBN} provides the following commands. reverse execution, @value{GDBN} provides the following commands.
@ -6817,6 +6823,11 @@ replay mode as long as the execution log includes the record for the
previous instruction; otherwise, it will work in record mode, if the previous instruction; otherwise, it will work in record mode, if the
platform supports reverse execution, or stop if not. platform supports reverse execution, or stop if not.
Currently, process record and replay is supported on ARM, Aarch64,
Moxie, PowerPC, PowerPC64, S/390, and x86 (i386/amd64) running
GNU/Linux. Process record and replay can be used both when native
debugging, and when remote debugging via @code{gdbserver}.
For architecture environments that support process record and replay, For architecture environments that support process record and replay,
@value{GDBN} provides the following commands: @value{GDBN} provides the following commands:
@ -6851,13 +6862,14 @@ replay implementation. This method allows replaying and reverse
execution. execution.
@item btrace @var{format} @item btrace @var{format}
Hardware-supported instruction recording. This method does not record Hardware-supported instruction recording, supported on Intel
data. Further, the data is collected in a ring buffer so old data will processors. This method does not record data. Further, the data is
be overwritten when the buffer is full. It allows limited reverse collected in a ring buffer so old data will be overwritten when the
execution. Variables and registers are not available during reverse buffer is full. It allows limited reverse execution. Variables and
execution. In remote debugging, recording continues on disconnect. registers are not available during reverse execution. In remote
Recorded data can be inspected after reconnecting. The recording may debugging, recording continues on disconnect. Recorded data can be
be stopped using @code{record stop}. inspected after reconnecting. The recording may be stopped using
@code{record stop}.
The recording format can be specified as parameter. Without a parameter The recording format can be specified as parameter. Without a parameter
the command chooses the recording format. The following recording the command chooses the recording format. The following recording