Eclipse插件 - 在步进或中断时处理事件

时间:2011-06-09 14:52:48

标签: eclipse debugging events eclipse-plugin eclipse-cdt

是否存在从Eclipse调试器接收事件通知的通用方法。具体来说,我只想知道用户何时跳过/进入以及何时遇到断点。

我已经在JDT中工作了(参见我的另一个问题:Eclipse Debugger Events)但是同样的技术在CDT中不起作用(我正在使用DebugPlugin.addDebugEventListener)。

如果没有通用的方法,那么有没有办法避免CDT依赖在JDT中运行时破坏插件?

谢谢, 艾伦

1 个答案:

答案 0 :(得分:3)

好的,我找到了一个可能对其他人有用的替代品。您可以使用上述方法在创建和终止会话时侦听调试事件。

对于任何步进事件,我发现的一种方法是注册IExecutionListener以通知Eclipse工作区中发生的所有命令。您可以通过获取ICommandService来注册执行侦听器,如下所示:

ICommandService commandService = (ICommandService)PlatformUI.getWorkbench().getService(ICommandService.class)

然后添加一个执行监听器:

commandService.addExecutionListener(this);

这将为您提供各种事件处理程序(notHandled,postExecuteFailure,postExecuteSuccess,preExecute),您可以通过commandId值过滤它们。

我希望这有助于其他人。

艾伦