14

我们在 Windows 上使用 Eclipse CDT 5 C++ IDE 在远程 AIX 主机上开发 C++ 应用程序。

Eclipse CDT 能够使用 gdbserver 执行远程调试。不幸的是,AIX 不支持 gdbserver。

有没有人熟悉在没有 gdbserver 的情况下使用 Eclipse CDT 进行远程调试的方法?也许使用 SSH shell 连接到 gdb?

4

3 回答 3

11

最后我现在无论如何都让gdb远程运行了。在任务栏上的错误符号处,我选择了调试配置 - GDB 硬件调试。

在主要 C/C++ 应用程序中,我在可执行文件 ( X:\abin\vlmi9506) 的 Samba 共享上设置了完整路径。我还在X:\abin项目中设置了一个链接文件夹。然后我在 GDB 设置中修改了我的批处理脚本。它不是在 plink-session 中直接调用 gdb,而是一个打开 gdb 的 unix-shell-script。这样我就有可能在调试之前为程序设置一些 unix 环境变量。我的批处理中的调用:

plink.exe prevoax1 -l suttera -pw XXXXX -i /proj/user/dev/suttera/vl/9506/test/vlmi9506ddd.run 20155 dev o m

在 unix 脚本中,我使用来自 eclipse 的命令行参数启动 gdb,这是我在以前的尝试中发现的。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 版。我们的管理员安装了它。

我现在可以单步执行程序并观察变量。我什至可以直接在控制台视图中编写 gdb 命令。yabadabadooooooo

希望对其他人也有帮助。不能说,什么是真正的胜利者行动。但每个答案都会提出更多新问题。现在我得到了其中的3个。

  1. 当我启动调试配置时,我必须单击工具栏中的重新启动才能真正进入主程序。是否可以直接进入main而不重新启动?
  2. 在 AIX 上,我们的程序首先针对嵌入式 sql 进行预处理。预处理的 c 源代码放在另一个目录中。当我双击该行设置断点时,我收到警告“未解析的断点”,并且在我看到的 gdb-console 中,断点设置为错误的预处理源。是否可以在正确的源上设置断点?
  3. 我们在 AIX 上使用 CICS。使用 xldb-Debugger 和 CICS 的 CDCN-command,当我们进入程序时,我们管理调试已启动。是否也可以使用 gdb-eclipse 远程获取(在 plink 中)?
于 2008-12-12T17:09:35.683 回答
1

对于我无法真正测试答案的问题,我通常不会在黑暗中试一试,但由于这个问题已经坐了一天,我会试一试。看起来似乎:

http://wiki.eclipse.org/TM_and_RSE_FAQ#How_can_I_do_Remote_Debugging_with_CDT.3F

...即使 CDT 自该 wiki 页面创建以来已更改,您仍然应该能够将调试命令更改为:

ssh 远程主机 gdb

而不是使用使用 gdbserver 的 TM。这可能会比 TM 远程调试稍微慢一些,因为它实际上使用本地 gdb,但另一方面,您不必通过 NFS 或 SMB 挂载源代码以使其可用于本地调试器(如果您在局域网上,无论如何可能都无关紧要)。

还有一个用于 linux 的参考 TCF 实现,您可能会或可能不会有任何运气为 AIX 重新编译,但如果 gdbserver 不可用,它允许远程调试:

http://wiki.eclipse.org/DSDP/TM/TCF_FAQ

于 2008-09-18T06:34:14.330 回答
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 调试本地化,但我目前正在尝试 ddd-gdb。至少本地 gdb 正在运行。

于 2008-11-27T11:04:06.297 回答