我需要创建一个Eclipse调试器插件,能够调试在Cortex-M0内核上运行的嵌入式代码。
我的插件依赖于现有的用于调试ARM应用程序的插件:GNU ARM Eclipse JLink插件(http://gnuarmeclipse.livius.net/blog/)
当断点被触发并且用户按下继续和暂停按钮时,我的调试器插件应该能够向Java应用程序发送信息(如源代码行、文件等)。
根据https://www.eclipse.org/articles/Article-Debugger/how-to.html,我必须实现自己的Eclipse Debug模型。
我已经成功创建了一个Launch Delegate,它扩展了GNU ARM JLink插件的LaunchConfigurationDelegate类,这样我就不必重写初始化调试环境的代码。
从GNU ARM Eclipse JLink插件源代码中,我了解到它不会在断点被触发或用户按下继续、单步调试等时扩展Eclipse的默认功能。因此,我没有现有的jlink插件类可以扩展。在我的调试模型中,我创建了实现IDebugTarget、IStackFrame、IThread并扩展DebugElement等其他类的类。我认为实现org.eclipse.debug.core.model.ISuspendResume和org.eclipse.debug.core.model.IStep的类将能够捕获断点命中事件和步进事件。但是,我仍然无法在我的插件代码中捕获任何调试事件。
您有没有关于如何在我的插件中捕获调试事件(暂停、恢复、单步进入、跨步)的提示?您能否告诉我应该扩展哪些类或实现哪些接口以捕获代码步进事件?
从GNU ARM Eclipse JLink插件源代码中,我了解到它不会在断点被触发或用户按下继续、单步调试等时扩展Eclipse的默认功能。因此,我没有现有的jlink插件类可以扩展。在我的调试模型中,我创建了实现IDebugTarget、IStackFrame、IThread并扩展DebugElement等其他类的类。我认为实现org.eclipse.debug.core.model.ISuspendResume和org.eclipse.debug.core.model.IStep的类将能够捕获断点命中事件和步进事件。但是,我仍然无法在我的插件代码中捕获任何调试事件。
您有没有关于如何在我的插件中捕获调试事件(暂停、恢复、单步进入、跨步)的提示?您能否告诉我应该扩展哪些类或实现哪些接口以捕获代码步进事件?