我正在Eclipse插件中处理自定义调试视图。在这个视图中,我需要知道我们何时处于调试模式以及当前是否遇到断点。
目前,当我的视图处于活动状态时,通过侦听DebugPlugin和IBreakpointManager中的各种调试事件,我可以正常工作。这在我的视图已经打开并且插件被激活时有效,但是如果我的视图在调试会话期间打开,那么它无法知道调试会话是否已经启动。
有没有办法明确检查调试会话是否正在进行中?一种可能性是强制我的插件在Eclipse加载时自动启动,但我宁愿避免这种情况。
有什么想法吗?
谢谢, 艾伦
答案 0 :(得分:4)
当您的插件激活时,您可以暂停启动管理器:
ILaunchManager = DebugPlugin.getDefault().getLaunchManager();
ILaunchManager可以为您提供ILaunch的数组:
ILaunch[] launches = launchManager.getLaunches();
每个ILaunch都有一些调试目标:
IDebugTarget[] debugTargets = launch.getDebugTargets();
...每个IDebugTarget都可以告诉您它当前是否被暂停:
debugTarget.isSuspended();
我建议阅读这些API并进行一些调试,以确定如果调试会话处于活动状态且当前是否遇到断点,将如何确定。我刚才没有时间为你检查一下。
注意:如果未使用调试插件,则其默认值为null。