使用旧的GDB 4.17与实际的Eclipse CDT(9.0)或至少使用Eclipse Juno

时间:2016-10-22 10:27:06

标签: eclipse debugging gdb eclipse-cdt stm8

情况如此:

我想用Eclipse调试ST的STM8微控制器。 为了编译,我使用IAR Kickstart和他们自己的Eclipse插件。这很好用。

不幸的是,他们没有提供任何方法将他们的C-Spy调试器集成到Eclipse中。

ST拥有自己的环境,即ST Visual Develop或短期STVD。包中包含一个旧的但正在运行的GDB。这是GDB 4.17。源也可用,并且无法编译它们。

现在出现问题:

GDB 4.17不支持像mi,mi1或者mi0这样的现代口译员。它仅支持控制台命令。

我尝试使用带有CDT(9.0)的实际Eclipse(neon)并将配置指向我的GDB.exe我还监视了GDB.exe的启动 Eclipse或CDT总是尝试使用-i或-interpreter参数打开GDB。但我的GDB不知道这个命令。所以它会回答"无法识别的命令"和CDT终止了这个过程。

在使用CDT的旧版Eclipse(Juno)中,我能够选择"详细的控制台模式"但这也会使用-i命令启动GDB。

现在的问题是: 有人有想法,如何处理这个问题? 最简单的方法是告诉CDT它不应该使用任何" mi"模式。

困难的方法是编写基于5.0版左右的新GDB。但这对我来说真的不能管理......

感谢您提出任何意见。

1 个答案:

答案 0 :(得分:1)

很抱歉告诉你这个,但没有办法让CDT在不使用MI的情况下启动GDB。 MI是CDT和GDB通信的唯一方式。

"详细控制台模式"的选项不是CDT的DSF-GDB实现的一部分,而是详细信息是它自己的控制台,可以从 Preferences - >控制。 C / C ++ - > 调试 - > GDB - > 使用[...] 启用GDB跟踪(请参阅https://wiki.eclipse.org/CDT/User/FAQ#I.27ve_been_asked_for_.27gdb_traces.27.2C_where_can_I_find_them.3F

官方CDT仅支持GDB 7及更高版本,但仍然不支持6.8左右及以上的实现。不支持GDB 4.x和5.x.