【问题标题】:Eclipse Debugger EventsEclipse 调试器事件
【发布时间】:2011-09-11 01:46:11
【问题描述】:

在我的 Eclipse 插件中,我希望收到有关调试器事件的通知(例如,当单步执行或遇到断点时)。通过使用以下代码订阅调试事件,我已设法使其在 JDT 环境中工作:

DebugPlugin.getDefault().addDebugEventListener(this);

这给了这个事件处理程序:

public void handleDebugEvents(DebugEvent[] events)
{
}

在 JDT 中,这是在 Breakpoint 或 Suspend 事件上触发的,我希望 CDT 中的行为相同。然而,事实并非如此。我在调试会话开始时只收到两个 Create 事件:

DebugEvent[org.eclipse.cdt.dsf.gdb.launching.GDBProcess@ae0aae,创建,未指定] DebugEvent[org.eclipse.debug.core.model.RuntimeProcess@920d5d, CREATE, UNSPECIFIED]

是否存在不需要特定依赖于 JDT 或 CDT 的通用解决方案?

谢谢, 艾伦

【问题讨论】:

    标签: eclipse debugging events eclipse-plugin


    【解决方案1】:

    我确实找到了解决方案并在这里回答了我的其他问题:Eclipse plugin - handling events when stepping or breaking

    艾伦

    【讨论】:

      【解决方案2】:

      我认为如果不倾听和深入研究 Eclipse 环境中的每一个操作,就无法实现您想要的(通用的、独立于实现的解决方案),因为我知道 Eclipse 通用调试插件只是用于构建特定于实现的调试器,例如 Java 自己的调试器。

      您对DebugPlugin 的静态调用是对运行CDT 或JDT 的基本“框架”的调用。例如,如果我想向 Java 调试器注册一个断点侦听器,我会调用 JDIDebugModel.addJavaBreakpointListener(<Your Java breakpoint listener class>);

      附:如果有一种方法可以只监听从通用平台调试插件/在通用平台调试插件下触发的事件,其中包括从该通用调试器扩展的插件触发的事件,这可能会简化您寻求完成的任务.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-30
        • 1970-01-01
        • 1970-01-01
        • 2014-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多