使用远程GDB在Eclipse中进行调试

时间:2017-02-09 17:44:26

标签: c eclipse debugging gdb eclipse-cdt

我有一台Linux机器,它被设置为交叉编译AVR目标的程序。在本地运行和调试程序很容易:

  1. 使用simavr(充当GDB服务器)运行程序
  2. 运行GDB(avr-gdb)并将其连接到simavr
  3. 我想在Windows机器上从Eclipse远程重新创建此流程。 Windows机器并没有真正设置用于开发 - 它安装了Eclipse并且是我项目的源代码,但它没有像GDB这样的本地C / C ++开发工具。理想情况下,我希望使用源的本地副本进行可视化调试,但是通过SSH与远程GDB交互。

    This Eclipse plugin似乎是这项工作的推荐工具。不幸的是我不能让这个工作。这就是我所做的:

    1. 创建了一个新的“C / C ++远程应用程序”调试配置。
    2. 将“Preferred Launcher”设置为“Direct Remote Debugging Launcher”。
    3. 将“远程C / C ++ exe文件路径”指向远程计算机上二进制文件的位置
    4. 将“远程工作空间目录”指向远程计算机上项目源的位置
    5. 这似乎不起作用。当我尝试使用此配置进行调试时,出现此错误:

      Error with command: gdb --version
        Cannot run program "gdb": Launching failed
      

      此错误有意义。如果我查看调试配置的“调试器”选项卡,“GDB调试器”将设置为gdb。如果我打开调试器的文件浏览器,它只显示我本地Windows机器上的文件。看起来配置设置为在我的机器上执行gdb

      我认为插件的重点是在远程计算机上启动GDB,但我找不到一种方法来进行实际执行此操作的调试配置。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:1)

我们使用名为 GDB硬件调试器的软件包,它允许您指定要使用的GDB以及启动方式。我们将eclipse配置尽可能保持为空,只需要最少的配置,并通过脚本选项-x继续配置GDB,后者提供更细粒度的控制。这样,您不需要了解用于运行GDB的eclipse字段的方式和时间。例如,我们需要在连接之前执行一些额外的GDB设置,而此插件首先连接,然后使用提供的GDB脚本。