CLION无法正常工作的GDB远程调试

时间:2016-10-17 13:39:00

标签: gdb remote-debugging clion gdbserver

以下是我的情景:

  • 我可以使用以下命令调试终端:

    • gdb myprog
    • break myprog.c:4115
    • run --myarg
    • 断点有效,我可以进入程序
  • 我在Fedora系统中尝试使用CLion 16.2.2进行远程调试:

    • 在服务器中运行:   gdbserver localhost:8080 myprog --myarg
    • 我明白了:   创建过程数据; pid = 80199   聆听8080号港口
    • 在使用CLion的Linux客户端中:
    • 设置/部署/配置SFTP(上传和下载正常工作)
    • 从服务器下载所有文件
    • 编辑配置
    • 创建新的GDB远程调试:
    • GDB:默认(捆绑)
    • 目标:tcp:193.101.144.128:8080
    • 符号文件:{blank}
    • Sysroot:{blank}
    • 路径映射:服务器路径和本地路径
    • 运行调试程序
    • 我在服务器终端上看到
    • 主机172.24.10.2的远程调试(这让我相信我很接近)
    • address_string = T:servername:4311
    • 在CLion控制台中,我看到:
    • 调试器连接到tcp:193.101.144.128:8080(连接正常工作!)

虽然看起来GDB服务器和客户端的连接正常,但似乎我遗漏了一些东西,因为调试器工具(步入,继续,继续等)仍然是灰色的,并且永远不会达到断点。

从第一次测试开始,我知道我使用的断点应该可以工作。

我怀疑我用这种方式传递程序参数(--myarg)的方式:gdbserver localhost:8080 myprog --myarg它不对,但我不知道还有什么地方传递它。

我期待能够使用这个非常棒的IDE进行调试,而不是使用终端。我很亲密,但被困在这里。我真的很感激一些帮助!

谢谢

1 个答案:

答案 0 :(得分:4)

我遇到了同样的问题。在我的情况下,问题的根本原因是目标设备上项目文件夹的绝对路径与本地计算机上的绝对路径不同。 在Run / Debug Configuration对话框中添加正确的路径映射后,调试器开始工作。
例如:
路径映射:
服务器路径:/ home / ubuntu / src / yourprojectname /
本地路径:/ home / michael / Documents / src / yourprojectname /