Eclipse C/C++ 开发工具(C/C++ Development Tooling,CDT)是面向 C/C++ 开发的最著名的开源环境之一,它提供了功能丰富的调试器,这是它非常流行的主要原因。但是,很少人知道可以扩展 CDT 框架使它支持定制调试器。通过使用合适的插件,定制调试器可以访问完整的 CDT 图形调试环境:代码单步调试、检查点(watchpoint)、断点(breakpoint)、注册表内容、内存内容和变量视图。通过本文了解如何构建这种插件,同时关注 C/C++ 调试接口(C/C++ Debugging Interface,CDI)。
命令行接口是一种用于调试的工具,而设计良好的图形环境则非常专业、非常出色。因此,要从头构建功能丰富的调试环境需要花费大量时间并且非常困难。但是,可以使用另外一种选择:Eclipse C/C++ 开发工具(CDT)。CDT 的可扩展性允许您将它提供的图形化调试功能连接到您的定制调试器。您不需要编写太多代码,但是要理解 CDT 的扩展点和 CDI。
CDI 是基于 Java™ 的应用程序编程接口(Application Programming Interface,API),它的类和接口使它能够访问 CDT 的调试框架。Eclipse 插件使用 CDI 可以将新的调试器添加到 CDT 操作中并在 Eclipse/CDT 调试透视图中显示调试结果。本文将详细介绍 CDI。“使用 CDT 调试器” 系列的第 2 部分将展示 CDI 如何通过专门化它的 Machine Interface(MI)来与 GNU Debugger(gdb)交互。
要了解 CDT 调试器的工作方式,最好的办法是查看并尝试实际的代码。本文将解释如何构建一个特性很少的插件,使用它扩展 CDT 从而提供基本的调试功能。没有提供实际可执行的调试器,但可以以这些代码为基础将您自己的定制调试器添加到 CDT。
这个示例插件包含有三个 CDT 扩展和 Eclipse Debug Framework:
- 创建一个单独的启动程序来调试 C/C++ 应用程序
org.eclipse.debug.core.launchConfigurationTypes
- 从用户端接收调试配置参数
org.eclipse.debug.ui.launchConfigurationTabGroups
- 为启动的 C/C++ 应用程序创建调试会话
org.eclipse.cdt.debug.core.CDebugger
本文转自IBM Developerworks中国