我正在 Eclipse 插件中开发自定义调试 View 。在此 View 中,我需要知道何时处于 Debug模式以及当前是否命中断点。
目前,当我的 View 处于事件状态时,我可以通过监听 DebugPlugin 和 IBreakpointManager 中的各种调试事件来实现此功能。当我的 View 已打开并且插件已激活时,此方法有效,但如果我的 View 在调试 session 期间打开,则它无法知道调试 session 是否已启动。
是否有任何方法可以显式检查调试 session 是否正在进行?一种可能性是强制我的插件在 Eclipse 加载时自动启动,但我宁愿避免这种情况。
有什么想法吗?
谢谢, 艾伦
最佳答案
当您的插件激活时,您可以获取启动管理器:
ILaunchManager = DebugPlugin.getDefault().getLaunchManager();
ILaunchManager 可以为您提供 ILaunch 数组:
ILaunch[] launches = launchManager.getLaunches();
每个 ILaunch 都有一些调试目标:
IDebugTarget[] debugTargets = launch.getDebugTargets();
...每个 IDebugTarget 都可以告诉您它当前是否已挂起:
debugTarget.isSuspended();
我建议阅读这些 API 并进行一些调试,以确定如何确定调试 session 是否处于事件状态并且当前是否命中了断点。我现在没时间帮你检查。
注意:如果没有使用调试插件,则其默认值为空。
关于eclipse - 创建 Eclipse 调试 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8987958/