Node: General Query Packets, Next: Register Packet Format, Previous: Stop Reply Packets, Up: Remote Protocol
The following set and query packets have already been defined.
qC -- current thread
Reply:
QCpid
*
qfThreadInfo - all thread ids
qsThreadInfo
Obtain a list of active thread ids from the target (OS). Since there
may be too many active threads to fit into one reply packet, this query
works iteratively: it may require more than one query/reply sequence to
obtain the entire list of threads. The first query of the sequence will
be the qfThreadInfo query; subsequent queries in the
sequence will be the qsThreadInfo query.
NOTE: replaces the qL query (see below).
Reply:
mid
mid,id...
l
In response to each query, the target will reply with a list of one or
more thread ids, in big-endian hex, separated by commas. GDB
will respond to each reply with a request for more thread ids (using the
qs form of the query), until the target responds with l
(lower-case el, for 'last').
qThreadExtraInfo,id -- extra thread info
info threads display. Some examples of
possible thread extra info strings are "Runnable", or "Blocked on
Mutex".
Reply:
XX...
qLstartflagthreadcountnextthread -- query LIST or threadLIST (deprecated)
NOTE: this query is replaced by the qfThreadInfo query
(see above).
Reply:
qMcountdoneargthreadthread...
remote.c:parse_threadlist_response().
qCRC:addr,length -- compute CRC of memory block
ENN
CCRC32
qOffsets -- query sect offs
Bss offset is included in the
response, GDB ignores this and instead applies the Data
offset to the Bss section.
Reply:
Text=xxx;Data=yyy;Bss=zzz
qPmodethreadid -- thread info request
Reply:
*
See remote.c:remote_unpack_thread_info_response().
qRcmd,command -- remote command
Ooutput console output packets.
Implementors should note that providing access to a stubs's
interpreter may have security implications.
Reply:
OK
OUTPUT
ENN
qRcmd is not recognized.
qSymbol:: -- symbol lookup
Reply:
OK
qSymbol:sym_name
qSymbol:sym_value:sym_name message, described below.
qSymbol:sym_value:sym_name -- symbol value
sym_name (hex encoded) is the name of a symbol whose value the target has previously requested.
sym_value (hex) is the value for symbol sym_name. If GDB cannot supply a value for sym_name, then this field will be empty.
Reply:
OK
qSymbol:sym_name