使用Eclipse GUI远程调试C ++应用程序

时间:2014-06-04 14:49:06

标签: c++ linux eclipse windows

我按照此link中的步骤操作  我设法从命令提示符调试从我的Windows机器中驻留在linux主机中的二进制文件。

我在linux中有gdbserver,我在windows中使用mingw安装了gdb。正如我所说,我可以提示“目标远程x.x.x.x:10000测试”在Windows中命令并调试我的测试应用程序。

我的问题是我不能用eclipse gui做同样的事情,在我看来它有按钮的音调,选项,但它们对我没有任何意义。

我选择debug_configurations - > C / C ++远程应用程序(唯一一个允许我输入linux机器的ip / port),在“Main”选项卡中连接我正在输入我的linux ip。在Debugger选项卡下的同一菜单中,我输入了我的窗口的gdb路径和gdbserver端口。

在完成所有这些之后我相信我已经为eclipse提供了足够的信息来连接gdb服务器,但它永远不够用于eclipse。我通过使用--debug启动gdbserver来检查gdbserver日志,gdbserver永远不会被触发,它不会写入一行日志。 Eclipse甚至不会启动连接。但相反,它给我一个错误,如“文件上传时出错”。这对我没有意义。

我正在使用“Eclipse版本:Juno Service Release 2”。任何帮助将不胜感激 。

2 个答案:

答案 0 :(得分:6)

我相信" C / C ++远程应用程序"选项使用Eclipse的RDT(远程开发工具)和RSE(远程系统资源管理器)来连接,上载,执行和调试应用程序本身。它

如果您要做的只是连接到gdbserver,那么创建一个" C / C ++附加到应用程序"调试配置,在Debugger选项卡下,将Debugger设置为gdbserver。

答案 1 :(得分:0)

由于其他原因,我在Eclipse版本2019-09 R(4.13.0)上也遇到此错误消息。 我非常建议阅读“如何调试远程应用程序?”段落。来自this great guide

它说明了应该使用的三个远程调试选项中的哪个-自动远程启动器,手动远程启动器和远程附加启动器,以及如何使用每个调试器。

我使用了错误的启动器,因此收到了错误,而远程gdbserver却在监听并等待连接。切换到“手动远程启动器”即可解决。

例如说:

如果未安装RSE,则不能使用“自动远程 启动”

RSE =远程系统资源管理器最终用户运行时

启动器设置是从“远程调试配置”窗口的底部配置的-“使用GDB(DSF)自动/手动远程调试启动器”。