在GDB远程调试中,monitor <verb>
发送命令<verb>
由远程GDB服务器执行。在这种特殊情况下,GDB服务器实际上是JLink为他们的JTAG调试器提供的服务器,用于调试在真实硬件上运行的嵌入式软件。这些命令广泛用于控制目标CPU,例如使用monitor reset
对其进行重置。
我正在运行使用clang / LLVM(使用libc ++)编译的裸机可执行文件。因此,我宁愿将LLDB与该可执行文件一起使用,以期更好地支持库类型和编译器生成的内部结构的漂亮打印。
LLDB确实支持GDB远程调试协议。但是,如何将等效的GDB monitor
命令发送到服务器?
答案 0 :(得分:1)
lldb可以使用以下方式将原始数据包发送到服务器:
(lldb) process plugin packet send
它可以使用以下命令发送qRcmd命令:
(lldb) process plugin packet monitor
我不记得gdb监视器命令发送了什么,但是您可以打开gdb中的数据包日志记录,运行该命令以查看其发送的内容,然后在lldb中使用适当的命令重播它。
答案 1 :(得分:1)
在mailing list post中回答。基本上,假设您要发送reset halt
命令,在GDB中,您会说:
monitor reset halt
在LLDB中,您可以执行以下操作:
process plugin packet monitor reset halt