java - 扩展 Eclipse 调试功能

标签 java eclipse debugging

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

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

我已经设法创建了一个扩展 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 捕获我的插件中的调试事件(挂起、恢复、进入、跳过等),您有什么提示吗? 您能否告诉我应该扩展哪些类或实现哪些接口(interface)以捕获代码步进事件?

最佳答案

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

关于java - 扩展 Eclipse 调试功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25873067/

相关文章:

java - Eclipse + Tomcat 如何保持服务器运行

eclipse - Azure SF 教程项目使用 gradle 5.4 构建,但不使用 Eclipse 2019-06

java - Eclipse、Maven 和 JMH : No matching benchmarks

matlab - 退出并继续 MATLAB 调试

java - 我无法在 GWT 中读取文本文件

java - 如何限制 Solr 搜索仅获取小于特定日期的最新匹配记录?

java - 将内容放在透明操作栏上

java - 图像未正确生成

node.js - 在 Windows 10 上使用 Intellij IDEA 在 WSL 2 中运行和调试 Nodejs

javascript - 如何在 Firebug 中调试脚本?