The following set and query packets have already been defined.
qC — current threadReply:
QCpidqfThreadInfo – all thread idsqsThreadInfo
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:
midmid,id...lIn 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 infoReply:
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 blockENNCCRC32qOffsets — query sect offsBss 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=zzzqPmodethreadid — thread info requestReply:
See remote.c:remote_unpack_thread_info_response().
qRcmd,command — remote commandOoutput console output packets.
Implementors should note that providing access to a stubs's
interpreter may have security implications.
Reply:
ENNqSymbol:: — symbol lookupReply:
OKqSymbol:sym_nameqSymbol:sym_value:sym_name message, described below.
qSymbol:sym_value:sym_name — symbol valuesym_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:
OKqSymbol:sym_name