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

Use old GDB 4.17 with actual Eclipse CDT (9.0) or at least with Eclipse Juno

是这样的情况:

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

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

ST 有自己的环境,称为 ST Visual Develop 或简称 STVD。包中包含一个旧的但可以工作的 GDB。它是 GDB 4.17。源代码也可用,我无法编译它们。

现在的问题:

GDB 4.17 不支持任何现代解释器,如 mi、mi1 或 mi0。它只支持控制台命令。

我尝试将实际的 Eclipse(霓虹灯)与 CDT (9.0) 一起使用,并在配置中指向我的 GDB.exe 我还监视了 GDB.exe 的启动 Eclipse 或 CDT 总是尝试使用 -i 或 -interpreter 参数打开 GDB。但是我的 GDB 不知道这个命令。所以它会用 "unrecognized command" 回答, CDT 终止这个过程。

在具有 CDT 的旧版本 Eclipse (Juno) 中,我能够 select "verbose console mode" 但这也会使用 -i 命令启动 GDB。

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

困难的方法是在5.0左右的版本上写一个新的GDB。但这对我来说并不是真的可以管理....

感谢任何评论。

很抱歉告诉你这个,但是如果不使用 MI,就无法CDT 启动 GDB。 MI 是 CDT 和 GDB 通信的唯一方式。

"verbose console mode" 的选项不是 CDT 的 DSF-GDB 实现的一部分,详细信息是它自己的控制台,可从 首选项[=22= 进行控制] -> 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。