Eclipse CDT 自定义调试器

Eclipse CDT Custom Debugger

我想扩展 eclipse 的调试器 cdt 以便它能够默认跳过具有指定行号的行(步骤)。

我想知道可以扩展什么来这样做,因为我不需要编写一个完整的新调试器,c/c++ 功能已经很好了。

这是一个非常宽泛的问题,因此我为您提供了一些起点,以便您可以缩小问题范围。

DSF-GDB

Eclipse 中的 C/C++ 调试器由 CDT 的 DSF(调试服务框架)提供。 DSF 是一个用于编写调试器的惊人但复杂的异步框架。DSF-GDB 是 GDB 调试器的 DSF 实现。

  1. 我建议从 DSF Tutorial
  2. 开始
  3. 尝试使用DSF-GDB自定义扩展示例插件org.eclipse.cdt.examples.dsf.gdb
  4. 看看How to extend DSF-GDB
  5. 如果您在 C 代码中有特定的行,您将需要注意并让您的用户了解有关编译器优化的限制。例如如果你写:
int x = 2
x++;
x++;

并期望能够 运行 第 1 行和第 3 行并跳过第 2 行,那么您将不得不参与编译器,而不仅仅是调试器,因为编译器通常会将上述内容优化为本质上 int x = 4.

CDI 调试器

CDI Debugger, aka the older pre-DSF CDT debugger is expected to be removed in CDT 9.0 scheduled for release in June 2016. The CDI Debugger is associated with the org.eclipse.cdt.debug.core.CDebugger extension point. See the message from the CDT co-leads Marc and Doug and the wiki entry。因此,不要基于 CDI 进行新的开发工作。