使用CLion的GDB远程调试不起作用

jos*_*lua 3 gdb remote-debugging gdbserver clion

这是我的情况:

  • 我可以使用终端通过以下命令进行调试:

    • gdb myprog
    • 打破myprog.c:4115
    • 运行--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
    • 符号文件:{空白}
    • Sysroot:{空白}
    • 路径映射:服务器路径和本地路径
    • 运行调试器
    • 在服务器终端上,我看到:
    • 从主机172.24.10.2进行远程调试(这使我相信自己已经关闭)
    • address_string = T:服务器名称:4311
    • 在CLion控制台中,我看到:
    • 调试器连接到tcp:193.101.144.128:8080(连接有效!)

尽管似乎GDB服务器和客户端之间的连接正在工作,但似乎我缺少一些东西,因为调试器工具(进入,移入,继续等)仍然显示为灰色,并且从未达到断点。

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

我怀疑我在这一行中传递程序参数(--myarg)的方式:gdbserver localhost:8080 myprog --myarg它不正确,但我不知道该在哪里传递它。

我期待能够使用此出色的IDE进行调试,而不是使用终端进行调试。我很近但是被卡在这里。我真的很感谢您的帮助!

谢谢

小智 5

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