扩展Eclipse调试功能

时间:2014-09-16 15:42:12

标签: java eclipse debugging

我需要创建一个Eclipse Debugger插件,它能够调试嵌入式代码,在Cortex-M0内核上运行。 我的插件取决于用于调试arm应用程序的现有插件:GNU ARM Eclipse JLink插件(http://gnuarmeclipse.livius.net/blog/) 我的调试器插件应该能够在遇到断点时以及当用户按下resume和suspend按钮时向java应用程序发送信息(如src代码行,文件等)。

根据https://www.eclipse.org/articles/Article-Debugger/how-to.html,我必须实现自己的Eclipse Debug Model

我设法创建了一个扩展GNU ARM JLink插件LaunchConfigurationDelegate类的Launch Delegate,这样我就不必重写初始化调试环境的代码。

从GNU ARM Eclipse JLink插件src代码中,我了解到,当遇到断点或用户按下resume,step into等时,它不会扩展Eclipse的默认功能。 所以我没有现有的jlink插件类来扩展。在我的调试模型中,我创建了实现IDebugTarget,IStackFrame,IThread和扩展DebugElement等的类。 我认为通过实现org.eclipse.debug.core.model.ISuspendResume&的类来实现。 org.eclipse.debug.core.model.IStep我将能够捕获断点命中事件和步进事件。但是,我仍然无法在插件代码中捕获任何调试事件。

您是否有任何关于如何从Eclipse UI中捕获插件中的调试事件(暂停,恢复,步入,跳过等)的提示? 你能告诉我应该扩展哪些类,或者我应该实现哪些接口以捕获代码步进事件?

1 个答案:

答案 0 :(得分:0)

DsfServiceEventHandler 帮助了我。我现在能够捕获 MIBreakpointHitEvent 事件并检索断点的文件名,函数名和src代码行。