【问题标题】:Programmatic interaction with gdbserver与 gdbserver 的编程交互
【发布时间】:2010-11-05 20:54:20
【问题描述】:

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

我的问题是:gdb remote serial protocol (RSP) 的客户端实现是否允许 gdb 以外的程序与 gdbserver 程序交互?

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

【问题讨论】:

    标签: gdb client protocols remote-debugging


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      你为什么想要一个?

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

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

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

      【讨论】:

      • 所有优点;我决定通过GDB机器接口控制一个本地GDB,让本地GDB和远程gdbserver交互
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-31
      • 2012-08-04
      • 2018-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-10
      相关资源
      最近更新 更多