The C, c, S, s and ? packets can
receive any of the below as a reply. In the case of the C,
c, S and s packets, that reply is only returned
when the target halts. In the below the exact meaning of signal
number is poorly defined. In general one of the UNIX signal numbering
conventions is used.
AA is the signal number
AA = two hex digit signal number; n... = register number
(hex), r... = target byte ordered register contents, size defined
by REGISTER_RAW_SIZE; n... = thread, r... =
thread process ID, this is a hex integer; n... = (watch |
rwatch | awatch, r... = data address, this is a hex
integer; n... = other string not starting with valid hex digit.
gdb should ignore this n..., r... pair and go on
to the next. This way we can extend the protocol.
The process exited, and AA is the exit status. This is only
applicable to certain targets.
The process terminated with signal AA.
AA = signal number; t… = address of symbol
_start; d… = base of data section; b… =
base of bss section. Note: only used by Cisco Systems targets.
The difference between this reply and the qOffsets query is that
the N packet may arrive spontaneously whereas the qOffsets
is a query initiated by the host debugger.
XX… is hex encoding of ascii data. This can happen at
any time while the program is running and the debugger should continue
to wait for W, T, etc.
call-id is the identifier which says which host system call should
be called. This is just the name of the function. Translation into the
correct system call is only applicable as it's defined in gdb. Refer to Section D.7 File-I/O remote protocol extension, for a list of implemented
parameter… is a list of parameters as defined for this very
The target replies with this packet when it expects gdb to call
a host system call on behalf of the target. gdb replies with
an appropriate F packet and keeps up waiting for the next reply
packet from the target. The latest C, c, S or
s action is expected to be continued. Refer to Section D.7 File-I/O remote protocol extension, for more details.