GDB Stub: add support for various query packets
These tends to get requested from either pure GDB or Ghidra. They reduce the verbosity of the communications. The QSupported packet is also important to implemnent for future proofing too.
This commit is contained in:
parent
a29d7625dd
commit
b369d822b1
|
@ -307,12 +307,20 @@ static void SendReply(const char* reply)
|
||||||
|
|
||||||
static void HandleQuery()
|
static void HandleQuery()
|
||||||
{
|
{
|
||||||
DEBUG_LOG_FMT(GDB_STUB, "gdb: query '{}'", CommandBufferAsString() + 1);
|
DEBUG_LOG_FMT(GDB_STUB, "gdb: query '{}'", CommandBufferAsString());
|
||||||
|
|
||||||
if (!strcmp((const char*)(s_cmd_bfr + 1), "TStatus"))
|
if (!strncmp((const char*)(s_cmd_bfr), "qAttached", strlen("qAttached")))
|
||||||
{
|
return SendReply("1");
|
||||||
return SendReply("T0");
|
if (!strcmp((const char*)(s_cmd_bfr), "qC"))
|
||||||
}
|
return SendReply("QC1");
|
||||||
|
if (!strcmp((const char*)(s_cmd_bfr), "qfThreadInfo"))
|
||||||
|
return SendReply("m1");
|
||||||
|
else if (!strcmp((const char*)(s_cmd_bfr), "qsThreadInfo"))
|
||||||
|
return SendReply("l");
|
||||||
|
else if (!strncmp((const char*)(s_cmd_bfr), "qThreadExtraInfo", strlen("qThreadExtraInfo")))
|
||||||
|
return SendReply("00");
|
||||||
|
else if (!strncmp((const char*)(s_cmd_bfr), "qSupported", strlen("qSupported")))
|
||||||
|
return SendReply("swbreak+;hwbreak+");
|
||||||
|
|
||||||
SendReply("");
|
SendReply("");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue