扩展Eclipse JDT

时间:2012-06-28 17:25:07

标签: java eclipse debugging eclipse-plugin

我正在尝试编写一个插件,它将改变当前eclipse java调试器的功能(更像是添加)。有关我想要完成的内容的详细信息,您可以看到此主题:Writing a custom eclipse debugger。我正在提出一个新问题来解决关于eclipse插件如何工作的细节问题。

因此,如果我想调整调试器(或JDT的任何部分),我的理解是通过插件实现这一点的是所谓的扩展点,基本上是为扩展功能和控制授予访问权限的点在某种程度上你能做什么或不能做什么。我的第一个问题是,这是对这个概念的正确理解,如果是这样,你如何找到这些扩展点(最终它是我特定调试问题的一个很好的起点)?

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

我已经查看了eclipse调试器源代码,我对调试过程中发生了什么有一个大概的了解,但是如何让我的插件在调试中调试器本身正在接收的数据进行通信/拉取过程

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

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

扩展概念是对的:现有的插件可能会提供一个扩展点 - 它希望其他插件能够提供功能。

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