关于c ++:如何在没有gdbserver的情况下使用Eclipse CDT进行远程调试?

关于c ++:如何在没有gdbserver的情况下使用Eclipse CDT进行远程调试?

How to do remote debugging with Eclipse CDT without gdbserver?

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

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

是否有人熟悉使用不带gdbserver的Eclipse CDT进行远程调试的方法? 也许使用SSH Shell连接到gdb?


终于,无论如何我现在都能远程运行gdb了。在任务栏上的错误符号处,我进行了"调试配置-GDB硬件调试"。

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

1
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命令中的调用如下所示:

1
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-commands。 yabadabadooooooo

希望对其他人也有帮助。不能说,什么才是真正的赢家行动。
但是每个答案都提出了更多新问题。现在我有三个。

  • 当我启动调试配置时,我必须单击工具栏中的"重新启动"才能真正进入主过程。是否可以直接进入main而不重启?
  • 在AIX上,我们的程序首先针对嵌入式sql进行了预处理。预处理的c源文件位于另一个目录中。当我双击该行以设置断点时,我得到警告"未解决的断点",并且在gdb控制台中,我看到该断点设置为预处理的源,这是错误的。是否可以在正确的源上设置断点?
  • 我们在AIX上使用CICS。使用CICS的xldb-Debugger和CDCN-命令,当我们进入程序时,我们可以开始进行调试。是否可以通过gdb-eclipse远程(通过plink获得)?

  • 我通常不会在一个我无法真正测试答案的问题上开枪,但是既然这个问题已经坐了一天,我就给它一个镜头。从看来:

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

    ...即使从创建该Wiki页面以来CDT发生了更改,您仍然应该能够将debug命令更改为:

    ssh remotehost gdb

    而不是使用使用gdbserver的TM。这可能会比TM远程调试慢一些,因为它实际上使用的是本地gdb,但另一方面,您不必NFS或SMB挂载源代码即可将其提供给本地调试器(如果您在局域网上就没关系了)。

    还有一个针对Linux的参考TCF实现,您可能会或可能不会为AIX重新编译任何运气,但是如果gdbserver不可用,它可以进行远程调试:

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


    还尝试使用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正在运行。


    推荐阅读