1

gdbserver 程序允许远程调试程序。通常,gdb 的本地副本用于与远程 gdbserver 实例以及在该远程 gdbserver 下运行的程序进行交互。

我的问题是:是否存在允许 gdb 以外的程序与 gdbserver 程序交互的gdb 远程串行协议(RSP) 的客户端实现?

本文档讨论了RSP 服务器的实现,但它是我主要感兴趣的客户端。这个实现支持客户端和服务器,但在 common lisp 中实现,还不是一个成熟的库。

4

2 回答 2

5

远程 gdb 协议在 gdb 手册中有完整记录,该手册可在 http://sourceware.org/gdb/current/onlinedocs/gdb_toc.html在线获取

您可以将 gdb 视为一个工作示例——这应该足以让您编写一个客户端来通过串行协议控制 gdbserver。;-)

于 2009-10-09T20:02:37.020 回答
1

我不知道有任何 GDB 协议的客户端。

你为什么要一个?

对于简单的任务(开始;停止;检查内存地址),您可以很快地从头开始编写。

对于复杂的任务(展开堆栈、检查变量等),您必须重新实现 GDB 的重要部分;如果没有很好的理由,这可能不应该尝试。

另请注意,GDB/gdbserver 协议在不断发展;有一些规定可以让较新的 GDB 处理较旧的 gdbserver,但我不确定反过来是否也是如此。

于 2009-06-26T06:03:45.700 回答