如何在Eclipse CDT中进行远程调试,而不是每次都在目标上手动运行`gdbserver`?

时间:2011-05-18 11:46:09

标签: eclipse gdb

在每个调试周期之前,我必须在远程目标(Linux)上运行gdbserver。所以我想创建一个脚本来调用python程序,它将通过ssh连接并运行gdbserver。

我无法找到任何在调试之前运行命令的选项,我也尝试更改.gdbinit文件,但我无法运行python脚本。由于我使用的是crosscompiler,因此我无法获得其他gdb支持。

3 个答案:

答案 0 :(得分:1)

如果您无法从gdbinit调用任何外部程序,我会在Eclipse中看到一种可能有效的方法(我没有测试过)但是它并不是真的很简单......

  • 创建启动gdbserver程序的外部工具配置(Python或任何命令行脚本)
  • 创建启动应用程序以进行调试的C / C ++应用程序启动器
  • 创建一个启动组,该组将调用之前配置的两个配置。
  • 以调试模式启动组

答案 1 :(得分:1)

您无需运行Python即可从GDB调用外部命令。这个(在.gdbinit中)应该有效:

shell ssh remote-host gdbserver :12345 /path/to/binary/on/remote &
target remote remote-host:12345

如果你确实需要更复杂的ssh设置并且需要Python,你当然可以通过

获得它
shell python your_script.py

答案 2 :(得分:0)

Eclipse 4.7.0可以连接到SSH并在创建新的调试连接时使用自动启动器集自动启动gdbserver,而无需任何自定义脚本。

我已在Remote debugging C++ applications with Eclipse CDT/RSE/RDT

详细解释了设置