【发布时间】:2017-10-05 23:12:19
【问题描述】:
所以我打算使用一个名为 ROS 的框架来为新机器人编写软件。在 ROS 框架下,它的每个软件组件都作为一个单独的进程运行。此外,由于 ROS 旨在通过 TCP 消息共享同时在多台机器上工作,因此我的设置将涉及多台机器上的多个进程。
现在我希望能够运行 gdb 服务器并附加每台机器上的所有进程,这样当我遇到断点时,我可以暂停所有进程。
查看 gdb 的文档: https://sourceware.org/gdb/onlinedocs/gdb/Server.html
详细说明您可以通过命令将多个进程附加到 gdb 服务器:
gdbserver --attach comm pid
但是,在运行 gdb 服务器的机器上,您不会拥有在其他机器上运行的进程的 pid。您将如何将来自不同机器的多个进程附加到同一个 gdb 服务器?如果不可能,您将如何设置多个 gdb 服务器并让它们相互通信,这样一个挂起就挂起另一个?
【问题讨论】: