代码之家  ›  专栏  ›  技术社区  ›  Michael Harding

如何在没有gdbserver的情况下使用eclipse cdt进行远程调试?

  •  14
  • Michael Harding  · 技术社区  · 16 年前

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

    eclipse cdt能够使用gdbserver执行远程调试。不幸的是,在aix上不支持gdbserver。

    有没有人熟悉一种不用gdbserver使用eclipse cdt进行远程调试的方法?也许使用ssh shell连接到gdb?

    3 回复  |  直到 8 年前
        1
  •  11
  •   2 revs, 2 users 67%<br/>albert sutter&#13; &#13;    15 年前

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

    在主要的C/C++应用程序中,我设置了可执行文件的Samba共享的完整路径( X:\abin\vlmi9506 )中。我还设置了一个链接文件夹 X:\abin 在项目中。然后我在gdb设置中修改了批处理脚本。它不是在plink会话中直接调用gdb,而是一个打开gdb的unix shell脚本。这样我就可以在调试之前为程序设置一些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。我在网上找到了6.8版 http://www.perzl.org/aix/index.php?n=Main.Gdb .我们的管理员安装了它。

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

    希望对别人也有帮助。不知道,到底什么是赢家的行动。 但每一个答案都给出了更多的新问题。现在我有三个了。

    1. 当我启动调试配置时,我必须单击工具栏中的重新启动来真正执行主过程。不重新启动就可以直接进入主机吗?
    2. 在AIX,我们的程序首先对嵌入式SQL进行预处理。预处理的C源放在另一个目录中。当我双击点击断线时,我得到警告“未解决的断点”,在GDB控制台中,我看到断点被设置为错误的预处理源。是否可以在正确的源上设置断点?
    3. 我们在aix上使用cics。使用XLDB调试器和CCDC命令CICS,我们管理调试,当我们进入我们的程序时。在gdb eclipse中也可以远程(在plink中)获得它吗?
        2
  •  1
  •   Nick Bastin    16 年前

    我通常不会在黑暗中对一个我不能真正测试答案的问题开枪,但既然这个问题已经坐了一天了,我会给它一个机会。看起来:

    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装载源代码来使其可用于本地调试器(如果您在LAN上,则可能无所谓)。

    另外还有一个针对Linux的参考TCF实现,您可能有机会也可能没有机会为aix重新编译它,但是如果gdbserver不可用,它允许远程调试:

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

        3
  •  0
  •   Albert Sutter    16 年前

    还尝试使用windows eclipse cdt gdb远程调试aixapp。 最后由于Unix/Windows路径问题而被阻止。也许我的结果能帮你更进一步-也许你已经成功了。我对你的评论感兴趣。在Eclipse新闻门户网站上问答- martin oberhuber的回答(再次感谢)尝试了DSP DD(也被路径问题阻塞),并在Eclipse BugZILA中设置了一个请求。

    以下是新闻链接: http://www.eclipse.org/newsportal/article.php?id=406&group=eclipse.dsdp.tm 给我的布吉拉: https://bugs.eclipse.org/bugs/show_bug.cgi?id=252758

    目前我们仍然使用xldb进行本地调试,但我目前正在尝试ddd gdb。至少本地gdb正在运行。