gdbserver程序允许远程调试程序。通常,gdb的本地副本用于与远程gdbserver实例交互,以及在该远程gdbserver下运行的程序。
我的问题是:是否有gdb remote serial protocol(RSP)的客户端实现允许gdb以外的程序与gdbserver程序交互?
本文档讨论RSP server的实现,但它是我主要感兴趣的客户端。这个implementation支持客户端和服务器,但是在普通的lisp中实现,还没有一个成熟的图书馆。
答案 0 :(得分:5)
gdb手册中详细记录了远程gdb协议,该手册可在线获取 http://sourceware.org/gdb/current/onlinedocs/gdb_toc.html
你有一个gdb作为一个工作示例 - 这应该足以允许你编写一个客户端来控制串行协议上的gdbserver。 ; - )
答案 1 :(得分:1)
我不知道GDB协议的任何客户端。
你为什么要一个?
对于简单的任务(开始;停止;检查内存地址),你可以很快地从头开始写一个。
对于复杂的任务(展开堆栈,检查变量等),您必须重新实现GDB的重要部分;如果没有充分的理由,这可能不应该尝试。
另请注意,GDB / gdbserver协议不断发展;有一些规定让新的GDB处理旧的gdbserver,但我不确定反过来也是如此。