如何 get/create org.eclipse.cdt.dsf.debug.service.BreakpointsMediator2

How to get/create org.eclipse.cdt.dsf.debug.service.BreakpointsMediator2

我正在开发与调试器服务框架 (DSF) 配合使用的 Eclipse 插件。我要实现的目标是将 IBreakpointsExtension.IBreakpointHitDMEvent 映射到平台断点 org.eclipse.debug.core.model.IBreakpoint。有服务和功能可以完全满足我的需要:org.eclipse.cdt.dsf.debug.service.BreakpointsMediator2#getPlatformBreakpoint

问题是如何 get/create org.eclipse.cdt.dsf.debug.service.BreakpointsMediator2 ?

我试图调用 DsfServicesTracker#getService(BreakpointsMediator2.class) 但它 returns null。 还有另一种选择(我猜)可以在将要使用它的地方创建 BreakpointsMediator2 实例。在那种情况下,我们需要 org.eclipse.cdt.dsf.debug.service.IBreakpointAttributeTranslator2 的实例。但是 DsfServicesTracker#getService(IBreakpointAttributeTranslator2.class) 也是 returns null.

这是不可能的,因为 eclipse-dsf-cdt 项目根本没有实现 org.eclipse.cdt.dsf.debug.service.BreakpointsMediator2org.eclipse.cdt.dsf.debug.service.IBreakpointAttributeTranslator2 接口。尽管有实施要求。检查 https://bugs.eclipse.org/bugs/show_bug.cgi?id=478454。 另一种可能的解决方案是使用 MIBreakpointsManager。请记住,在这种情况下,您的代码取决于 org.eclipse.cdt.dsf.mi.service.