0

这是这种情况:

我想用 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 或 - 打开 GDB解释器参数。但是我的 GDB 不知道这个命令。所以它会回答“无法识别的命令”,CDT 会终止进程。

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

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

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

感谢您的任何评论。

4

1 回答 1

1

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

“详细控制台模式”选项不是 CDT 的 DSF-GDB 实现的一部分,而是详细信息是它自己的控制台,可通过Preferences -> C/C++ -> Debug -> GDB -> Enable GDB traces with [.. .](见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。

于 2016-10-22T12:09:24.077 回答