如何使用Eclipse从Windows调试linux C++程序
How to debug a linux C++ program from Windows with Eclipse?
我使用无头(即无屏幕)远程ubuntu服务器x64来开发C++应用程序(也没有UI)。
我想方便地(类似IDE,而不是命令行)从windows(7/64)调试这个程序,如果可能的话,使用Eclipse。我在两台机器上都有一个windows共享和完全的root访问权限。
到目前为止,我已经听说了两种解决方案:
- 远程gdb
- 远程X服务器
我研究过解决方案1:构建一个跨gdb,在windows上复制我的程序和libs。我可以从cygwin命令行远程gdb,但不能从eclipse远程gdb(停留在"启动…85%",没有错误消息也没有日志)
我还研究过解决方案2:安装xauth,设置X转发,在我的windows上安装xming,在linux盒子上设置DISPLAY。但没有效果"无法打开DISPLAY xxx",没有简单的故障排除。
在谷歌上搜索这些问题时,我只会发现过时的页面或不同的问题。
有人做过吗?你能分享关于如何从Windows远程调试C++linux应用程序的建议或新建议吗?
我建议在Windows机器上安装X11服务器(例如Xming?),并在Linux服务器上使用一些X11客户端应用程序(如emacs
、ddd
(如果需要)、xterm
)执行ssh -X
。不要使用像Eclipse这样复杂的东西。您可以只使用emacs
(在Linux服务器上远程显示,在Windows桌面X11服务器上显示)。。。
一旦emacs
运行良好(在远程Linux服务器上运行,在Windows桌面X11服务器上显示),就可以在其中运行gdb
要使ssh -X
工作,您需要对其进行适当的配置。也许你忘了那一步。要测试它,只需使用ssh -X yourlinuxhost xterm
,然后进行配置,直到该步骤起作用。
当然,你也可以在你的笔记本电脑或台式机上安装Linux,也许是在Windows之上的虚拟机内。
注:。我从未使用过Windows,但我知道有些X11服务器是为它而存在的。
有一个eclipse插件RSE(远程系统资源管理器),它可以做你所期望的事情。代码库可以在linux服务器中,eclipses使用telnet/ssh登录。在服务器上可以再次执行,本地gdb用于调试。
您可以为Eclipse使用以下简单插件。
http://marketplace.eclipse.org/content/direct-remote-c-debugging
它只需要ssh连接到服务器,它关心其他任何事情
- 在C++/Linux中设置单调时钟的一些技巧
- Linux的Cpp上的计时器
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在Linux中哪里可以找到互斥、未来等的源代码
- 如何在linux终端中同时编译和运行c++代码
- 在Linux for Windows上编译C++代码时出错
- 如何找到锁定Linux futex的C++行
- 在linux上调试巨大的C++项目
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- c++方法参数只能在linux的发布模式下自行更改
- 在Linux和C++中的Windows上,散列字符串值会产生不同的输出
- 这里在 Linux 中具有"CreatePipe"和"CreateProcessW"功能吗?
- 函数在Windows或Linux上运行时表现不同
- 在Linux下捕获SIGKILL的C++程序
- 在为LINUX创建共享库时,如何避免STL的私有/弱副本
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- 如何在CPP中创建应该在Windows和Linux上运行的套接字?
- mysql C++ connector [mysql-connector-c++-8.0.19-linux-glibc2
- 这些是什么样的错误?即使我不在 Linux 上工作,我也遇到了 Linux 错误
- CMake WxWidgets项目成功地在Linux上构建,但没有在Windows上构建