我们在Windows上使用Eclipse CDT 5 C ++ IDE在远程AIX主机上开发C ++应用程序。
Eclipse CDT能够使用gdbserver执行远程调试。不幸的是,AIX上不支持gdbserver。
是否有人熟悉使用Eclipse CDT而不使用gdbserver进行远程调试的方法?也许使用SSH shell连接到gdb?
答案 0 :(得分:11)
最后我现在无论如何都得到了远程运行的gdb。在任务栏上的Bug符号中,我进行了调试配置 - GDB硬件调试。
在主C / C ++应用程序中,我在可执行文件(X:\abin\vlmi9506
)的Samba共享上设置完整路径。我还在项目的X:\abin
上设置了一个链接文件夹。然后我在GDB安装程序中修改了我的批处理脚本。它不是直接在plink-session中调用gdb而是直接调用unix-shell-script来打开gdb。通过这个,我可以在进行调试之前为程序设置一些unix环境变量。我的批次中的电话:
plink.exe prevoax1 -l suttera -pw XXXXX -i /proj/user/dev/suttera/vl/9506/test/vlmi9506ddd.run 20155 dev o m
在unix脚本中,我使用eclipse中的命令行params启动了gdb,这是我在以前的tryals中找到的。 shell命令中的调用如下所示:
gdb -nw -i mi -cd=$LVarPathExec $LVarPathExec/vlmi9506
然后IBM就为AIX提供了gdb 6.0。我在网http://www.perzl.org/aix/index.php?n=Main.Gdb找到了6.8版本。我们的管理员安装了它。
我现在可以单步执行程序并观察变量。我甚至可以直接在console-view中编写gdb-commands。 yabadabadooooooo
希望对其他人也有帮助。不能说,真正的赢家行动是什么。 但每个答案都提出了更多新问题。现在我有3个。
答案 1 :(得分:1)
我通常不会在黑暗中对一个我无法真正测试答案的问题进行拍摄,但由于这一个已经坐了一天,我会试一试。看起来似乎是:
http://wiki.eclipse.org/TM_and_RSE_FAQ#How_can_I_do_Remote_Debugging_with_CDT.3F
...即使CDT在创建维基页面后发生了变化,您仍然可以将调试命令更改为:
ssh remotehost gdb
而不是使用使用gdbserver的TM。这可能比TM远程调试稍慢,因为它实际上使用本地gdb,但另一方面,您不必使用NFS或SMB安装源代码以使其可供本地调试器使用(如果你在局域网上无论如何都无关紧要。)
还有一个针对linux的参考TCF实现,你可能有或没有运气重新编译AIX,但如果gdbserver不可用,它允许远程调试:
答案 2 :(得分:0)
还尝试使用windows eclipse-cdt-gdb远程调试aix-appl。 最后因unix / windows路径问题而被阻止。也许我的结果可以帮助你更进一步 - 也许你已经有了它的工作。我对你的评论感兴趣。在eclipse新闻门户网站上问道 - 按照martin oberhuber的回答(再次感谢)尝试了dsp dd(也阻止了路径问题)并在eclipse bugzilla中设置了一个请求。
这里有新闻链接: http://www.eclipse.org/newsportal/article.php?id=406&group=eclipse.dsdp.tm 在这里我的bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=252758
目前我们仍然使用xldb调试localy,但此刻我正在尝试使用ddd-gdb。至少本地gdb正在运行。