CLion不工作时的GDB远程调试

CLion不工作时的GDB远程调试,gdb,remote-debugging,clion,gdbserver,Gdb,Remote Debugging,Clion,Gdbserver,以下是我的设想: 我可以使用以下命令使用终端进行调试: gdb myprog 中断myprog.c:4115 运行--myarg 断点工作,我可以进入程序 我尝试在Fedora系统中使用CLion 16.2.2进行远程调试: 在我运行的服务器中: gdbserver本地主机:8080 myprog--myarg 我明白了: 创建过程数据;pid=80199 侦听端口8080 在使用CLion的Linux客户端中: 设置/部署/配置SFTP(上传和下载工作正常) 从服务器下载所有文件 编辑

以下是我的设想:

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

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

    • 在我运行的服务器中: gdbserver本地主机:8080 myprog--myarg
    • 我明白了: 创建过程数据;pid=80199 侦听端口8080
    • 在使用CLion的Linux客户端中:
    • 设置/部署/配置SFTP(上传和下载工作正常)
    • 从服务器下载所有文件
    • 编辑配置
    • 创建新的GDB远程调试:
    • GDB:默认(捆绑)
    • 目标:tcp:193.101.144.128:8080
    • 符号文件:{blank}
    • Sysroot:{blank}
    • 路径映射:服务器路径和本地路径
    • 运行调试器
    • 在服务器终端上,我看到:
    • 从主机172.24.10.2进行远程调试(这让我相信我已经接近了)
    • 地址\u字符串=T:servername:4311
    • 在CLion控制台中,我看到:
    • 调试器已连接到tcp:193.101.144.128:8080(连接正常!)
虽然GDB服务器和客户端的连接似乎在工作,但我似乎遗漏了一些东西,因为调试器工具(step-in、step-over、continue等)保持灰色,并且从未到达断点

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

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

我期待着能够调试使用这个可怕的IDE,而不是使用终端。我很接近,但在这里被绊倒了。我真的很感谢你的帮助


谢谢

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

本地路径:/home/michael/Documents/src/yourprojectname/

在IDE的底部,我看到这样一条消息:1.5.11之前的IBus可能会导致输入问题fyi:您的问题似乎是由附加过程中不必要的“命令超时”引起的,并被跟踪为,请随意投票。免责声明:我负责CLion中的调试器,我知道您发送到我们支持频道的日志。顺便说一句,作为一种解决方法,您可以尝试在调试配置中指定
sysroot
,我建议从
/
开始。这里的更多信息:嗨,我已经尝试添加sysroot,首先是as/并使用部署程序可执行文件的服务器中的路径,但两者都没有解决问题。我注意到的唯一区别是,使用这些设置,“readchar:get EOF”消息在CLion控制台中显示了多次(前者显示了8次,后者显示了20次)。我仍然得到命令超时。我真的很感谢为提供帮助所做的一切努力。谢谢