0

我正在尝试编写一个插件来改变(更像是添加)当前 eclipse java 调试器的功能。有关我要完成的工作的详细信息,您可以查看此线程:编写自定义 eclipse 调试器。我正在提出一个新问题,以解决有关 eclipse 插件如何工作的细节的一些困惑。

因此,如果我想调整调试器(或 JDT 的任何部分),据我了解,允许通过插件发生这种情况的是所谓的扩展点,基本上是授予访问权限以扩展功能并控制你能做什么的点或在一定程度上做不到。我的第一个问题是,这是对这个概念的正确理解吗?如果是,你如何找到这些扩展点(最终这是我具体调试问题的一个很好的起点)?

我的第二个问题是专门关于调试器的,如果我想了解如何从调试器中提取数据(如变量/堆栈帧信息,基本上是向用户显示的信息)并在我自己的插件中使用它,这可能/如何你开始接近它(这是扩展点的问题)?

我已经查看了 eclipse 调试器源代码,并且对调试过程中发生的事情有了一个大致的了解,但是如何让我的插件与调试器本身在调试过程中接收到的数据进行通信/提取?

顺便说一句,如果有人可以回答其中一些问题,尤其是与我的具体问题有关的问题,请随时在另一个线程中发布,因为仍然有开放的 +200 赏金,这里的问题可能有助于回答发布的更广泛的问题那里。

非常感谢您的帮助。

4

1 回答 1

2

您对扩展概念的看法是正确的:现有插件可能会提供一个扩展点——它期望其他插件贡献功能的地方。

如果是 Debug 插件,您可以使用 org.eclipse.debug.ui.DebugUITools 的静态方法;类:getDebugContext() 方法返回当前活动的调试上下文,getDebugContextManager() 服务增加了对监听上下文变化的支持。我们有一个这样实现的插件:它监听调试上下文的变化,并在 Zest 图中可视化当前变量。上下文信息收集在文件http://code.google.com/a/eclipselabs.org/p/debugvisualisation/source/browse/hu.cubussapiens.debugvisualisation/src/hu/cubussapiens/debugvisualisation/views的第 183 行附近/DebugVisualisationView.java可能值得一看。

于 2012-06-28T18:49:27.440 回答