Eclipse插件-在单步执行或中断时处理事件



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

我已经在JDT中实现了这一点(请参阅我的另一个问题:Eclipse调试器事件),但同样的技术在CDT中不起作用(我使用的是DebugPlugin.addDebugEventListener)

如果没有通用的方法来做到这一点,那么有没有一种方法可以避免CDT依赖关系在JDT中运行时破坏插件?

谢谢,Alan

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

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

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

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

commandService.addExecutionListener(this);

这将为您提供各种事件处理程序(notHandled、postExecuteFailure、postExecute Success、preExecute),您可以根据commandId值进行筛选。

我希望这能帮助其他人。

Alan

最新更新