Extended-remote fork event docs
This patch contains the accumulated documentation changes for the rest of the extended-remote follow fork patchset. gdb/ChangeLog: * NEWS: Announce fork support in the RSP and support for fork debugging in extended mode. gdb/doc/ChangeLog: * gdb.texinfo (Forks): Note that fork debugging is supported in extended mode. (Remote Configuration): Add fork event features to table of packet settings. (Stop Reply Packets): Add fork events to list of stop reasons. (General Query Packets): Add fork events to tables of 'gdbfeatures' and 'stub features' supported in the qSupported packet, as well as to the list containing stub feature details.
This commit is contained in:
parent
cbb8991cab
commit
0d71eef55d
4 changed files with 124 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2015-05-12 Don Breazeal <donb@codesourcery.com>
|
||||
|
||||
* NEWS: Announce fork support in the RSP and support
|
||||
for fork debugging in extended mode.
|
||||
|
||||
2015-05-12 Don Breazeal <donb@codesourcery.com>
|
||||
|
||||
* remote.c (remote_insert_fork_catchpoint): New function.
|
||||
|
|
24
gdb/NEWS
24
gdb/NEWS
|
@ -128,6 +128,30 @@ qXfer:exec-file:read
|
|||
Return the full absolute name of the file that was executed to
|
||||
create a process running on the remote system.
|
||||
|
||||
fork stop reason
|
||||
Indicates that a fork system call was executed.
|
||||
|
||||
vfork stop reason
|
||||
Indicates that a vfork system call was executed.
|
||||
|
||||
vforkdone stop reason
|
||||
Indicates that a vfork child of the specified process has executed
|
||||
an exec or exit, allowing the vfork parent to resume execution.
|
||||
|
||||
fork-events and vfork-events features in qSupported
|
||||
The qSupported packet allows GDB to request support for fork and
|
||||
vfork events using new 'gdbfeatures' fork-events and vfork-events,
|
||||
and the qSupported response can contain the corresponding
|
||||
'stubfeatures'. Set and show commands can be used to display
|
||||
whether these features are enabled.
|
||||
|
||||
* Extended-remote fork events
|
||||
|
||||
** GDB now has support for fork events on extended-remote Linux
|
||||
targets. For targets with Linux kernels 2.5.60 and later, this
|
||||
enables follow-fork-mode and detach-on-fork for both fork and
|
||||
vfork, as well as fork and vfork catchpoints.
|
||||
|
||||
* The info record command now shows the recording format and the
|
||||
branch tracing configuration for the current thread when using
|
||||
the btrace record target.
|
||||
|
|
|
@ -1,3 +1,15 @@
|
|||
2015-05-12 Don Breazeal <donb@codesourcery.com>
|
||||
|
||||
* gdb.texinfo (Forks): Note that fork debugging is
|
||||
supported in extended mode.
|
||||
(Remote Configuration): Add fork event features to table
|
||||
of packet settings.
|
||||
(Stop Reply Packets): Add fork events to list of stop reasons.
|
||||
(General Query Packets): Add fork events to tables of
|
||||
'gdbfeatures' and 'stub features' supported in the qSupported
|
||||
packet, as well as to the list containing stub feature
|
||||
details.
|
||||
|
||||
2015-05-12 Gary Benson <gbenson@redhat.com>
|
||||
|
||||
* gdb.texinfo (General Query Packets): Document
|
||||
|
|
|
@ -3135,6 +3135,9 @@ create additional processes using the @code{fork} or @code{vfork} functions.
|
|||
Currently, the only platforms with this feature are HP-UX (11.x and later
|
||||
only?) and @sc{gnu}/Linux (kernel version 2.5.60 and later).
|
||||
|
||||
The fork debugging commands are supported in both native mode and when
|
||||
connected to @code{gdbserver} using @kbd{target extended-remote}.
|
||||
|
||||
By default, when a program forks, @value{GDBN} will continue to debug
|
||||
the parent process and the child process will run unimpeded.
|
||||
|
||||
|
@ -19938,6 +19941,14 @@ are:
|
|||
@tab @code{hwbreak stop reason}
|
||||
@tab @code{hbreak}
|
||||
|
||||
@item @code{fork-event-feature}
|
||||
@tab @code{fork stop reason}
|
||||
@tab @code{fork}
|
||||
|
||||
@item @code{vfork-event-feature}
|
||||
@tab @code{vfork stop reason}
|
||||
@tab @code{vfork}
|
||||
|
||||
@end multitable
|
||||
|
||||
@node Remote Stub
|
||||
|
@ -35372,6 +35383,49 @@ The @var{r} part must be left empty.
|
|||
|
||||
The same remarks about @samp{qSupported} and non-stop mode above
|
||||
apply.
|
||||
|
||||
@cindex fork events, remote reply
|
||||
@item fork
|
||||
The packet indicates that @code{fork} was called, and @var{r}
|
||||
is the thread ID of the new child process. Refer to
|
||||
@ref{thread-id syntax} for the format of the @var{thread-id}
|
||||
field. This packet is only applicable to targets that support
|
||||
fork events.
|
||||
|
||||
This packet should not be sent by default; older @value{GDBN} versions
|
||||
did not support it. @value{GDBN} requests it, by supplying an
|
||||
appropriate @samp{qSupported} feature (@pxref{qSupported}). The
|
||||
remote stub must also supply the appropriate @samp{qSupported} feature
|
||||
indicating support.
|
||||
|
||||
@cindex vfork events, remote reply
|
||||
@item vfork
|
||||
The packet indicates that @code{vfork} was called, and @var{r}
|
||||
is the thread ID of the new child process. Refer to
|
||||
@ref{thread-id syntax} for the format of the @var{thread-id}
|
||||
field. This packet is only applicable to targets that support
|
||||
vfork events.
|
||||
|
||||
This packet should not be sent by default; older @value{GDBN} versions
|
||||
did not support it. @value{GDBN} requests it, by supplying an
|
||||
appropriate @samp{qSupported} feature (@pxref{qSupported}). The
|
||||
remote stub must also supply the appropriate @samp{qSupported} feature
|
||||
indicating support.
|
||||
|
||||
@cindex vforkdone events, remote reply
|
||||
@item vforkdone
|
||||
The packet indicates that a child process created by a vfork
|
||||
has either called @code{exec} or terminated, so that the
|
||||
address spaces of the parent and child process are no longer
|
||||
shared. The @var{r} part is ignored. This packet is only
|
||||
applicable to targets that support vforkdone events.
|
||||
|
||||
This packet should not be sent by default; older @value{GDBN} versions
|
||||
did not support it. @value{GDBN} requests it, by supplying an
|
||||
appropriate @samp{qSupported} feature (@pxref{qSupported}). The
|
||||
remote stub must also supply the appropriate @samp{qSupported} feature
|
||||
indicating support.
|
||||
|
||||
@end table
|
||||
|
||||
@item W @var{AA}
|
||||
|
@ -35964,6 +36018,18 @@ reason in stop replies. @xref{swbreak stop reason}, for details.
|
|||
@item hwbreak
|
||||
This feature indicates whether @value{GDBN} supports the hwbreak stop
|
||||
reason in stop replies. @xref{swbreak stop reason}, for details.
|
||||
|
||||
@item fork-events
|
||||
This feature indicates whether @value{GDBN} supports fork event
|
||||
extensions to the remote protocol. @value{GDBN} does not use such
|
||||
extensions unless the stub also reports that it supports them by
|
||||
including @samp{fork-events+} in its @samp{qSupported} reply.
|
||||
|
||||
@item vfork-events
|
||||
This feature indicates whether @value{GDBN} supports vfork event
|
||||
extensions to the remote protocol. @value{GDBN} does not use such
|
||||
extensions unless the stub also reports that it supports them by
|
||||
including @samp{vfork-events+} in its @samp{qSupported} reply.
|
||||
@end table
|
||||
|
||||
Stubs should ignore any unknown values for
|
||||
|
@ -36207,6 +36273,16 @@ These are the currently defined stub features and their properties:
|
|||
@tab @samp{-}
|
||||
@tab No
|
||||
|
||||
@item @samp{fork-events}
|
||||
@tab No
|
||||
@tab @samp{-}
|
||||
@tab No
|
||||
|
||||
@item @samp{vfork-events}
|
||||
@tab No
|
||||
@tab @samp{-}
|
||||
@tab No
|
||||
|
||||
@end multitable
|
||||
|
||||
These are the currently defined stub features, in more detail:
|
||||
|
@ -36399,6 +36475,13 @@ breakpoints.
|
|||
The remote stub reports the @samp{hwbreak} stop reason for hardware
|
||||
breakpoints.
|
||||
|
||||
@item fork-events
|
||||
The remote stub reports the @samp{fork} stop reason for fork events.
|
||||
|
||||
@item vfork-events
|
||||
The remote stub reports the @samp{vfork} stop reason for vfork events
|
||||
and vforkdone events.
|
||||
|
||||
@end table
|
||||
|
||||
@item qSymbol::
|
||||
|
|
Loading…
Add table
Reference in a new issue