使用 CDT 调试器,第 2 部分: 使用 Eclipse CDT 和 MI 访问 gdb
2009-12-19 00:00:00 来源:WEB开发网Eclipse C/C++ 开发工具(C/C++ Development Tooling,CDT)提供了非常优秀的图形调试环境,它提供了断点(breakpoint)、检查点(watchpoint)、变量、寄存器、反汇编、信号和内存内容。您仍可以为这个环境添加新的性能或者访问这些视图来显示定制调试器的输出。但首先应该了解 C/C++ 调试接口(C/C++ Debugger Interface,CDI)以及它如何与 Eclipse 通信。“使用 CDT 调试器” 系列的第 1 部分从较高的层次描述了 CDI。第 2 部分将学习 CDT 如何与 GNU Debugger(gdb)对话。具体指 CDT 如何使用 CDI 和 Machine Interface(MI)与 gdb 交互。
此处讨论的 Java™ 类以 CDI 提供的类和接口为基础,这些在 “使用 CDT 调制器” 系列的 第 1 部分 中介绍过。为了避免混淆,再次解释一下 CDI 和 MI 之间的区别:
CDI 由 Eclipse/CDT 开发人员创建,因此 CDT 可以访问外部调试器。
MI 由 gdb 开发人员创建,因此外部应用程序可以访问 gdb。
这似乎是一个简单的区别,但我将展示的许多类在 CDI 和 MI 中均有涉及,有时很难界定一个接口的结束和下一个接口的开始。如果了解 CDI 和 MI 如何一起工作,您能更好地链接定制调试器工具和 CDT,不管它们是否基于 gdb。
了解 GNU Debugger Machine Interface(gdb/MI)
大多数人使用诸如 run、print 和 info 这样的简单指令由命令行访问 gdb。这是 gdb 与人类一方的 接口。访问 gdb 的第二个方法旨在通过软件与调试器交互:Machine Interface(MI)。调试器执行的任务和以前相同,但命令和输出响应有很大的不同。
更多精彩
赞助商链接