【问题标题】:Remote debug with gdbServer使用 gdbServer 进行远程调试
【发布时间】:2014-02-09 07:15:15
【问题描述】:

1) 我通过 gdb myAppName 在远程机器上启动 GDB

2) 然后我给 run -p portNumber

3) 然后我在上述端口上运行与之连接的 java 应用程序。

现在当我尝试通过 gdbserver 进行远程调试时,场景是

1) 我在远程机器上运行 gdb 服务器 gdbserver 主机:应用程序的端口路径

现在,当我尝试将我的 java 客户端应用程序连接到 gdbserver 端口时,它将无法连接。

所以我正在 gdb 服务器中寻找 gdb 的 run -p 命令的替代方法

我尝试的是通过 eclipse CDT 远程调试 C 代码

任何帮助将不胜感激。

【问题讨论】:

    标签: linux


    【解决方案1】:

    gdbserver 可以根据文档使用以下不同于正常调用的语法启动附加到某些系统上的 pid

    gdbserver 主机名 : 端口 --attach pid

    或者 gdb 可以使用随后由远程机器启动的程序启动

    gdbserver 主机名 : 端口 程序

    然后您可以使用从另一个远程 gdb 附加到它

    (gdb) 目标远程主机名端口

    只要远程 gdbserver 像上面那样调用,Eclipse 可能会做同样的事情

    然后使用不同的端口启动远程程序

    (gdb) 运行 -p someotherport

    第二次调用,从上面的 cmets,我假设你已经为你的程序创建了一些标志,允许它绑定到 someotherport

    【讨论】:

    • 但我确实(gdb)运行 -p1034 其中 -p 代表端口。这不能在 gdbserver 中完成。因为它只与 pid 而不是端口相关联(它在端口上运行)
    • 如果我现在了解您的问题。 gdbserver 需要一个通信端口,而您的远程程序也需要一个端口。这很好,只需选择不同的端口。
    猜你喜欢
    • 1970-01-01
    • 2015-01-19
    • 2012-02-20
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    • 1970-01-01
    • 2020-05-10
    相关资源
    最近更新 更多