java - Eclipse JDT 以编程方式设置/创建断点

标签 java eclipse debugging breakpoints

我想以编程方式在 Eclipse 中的另一个文件中的任意行号处设置/创建断点。我很想看到一个通用的解决方案,但我想我必须依赖 Eclipse JDT 插件。我怎样才能做到这一点?我尝试过类似的事情:

JDIDebugModel.createLineBreakpoint(resource, typeName, lineNumber, -1, -1, 0, false, null);

但我有两个问题:

  1. 我必须在构建路径中包含大量库才能使其正常工作,例如/usr/local/eclipse/plugins/org.eclipse.core.resources_3.9.0.v20140514-1307.jar。如果我添加它们,它们需要其他的等等。我可能必须添加所有 Eclipse 插件/库才能使其工作。
  2. 如何获得适当的资源以便将其提供给上述方法?给出 null 值很可能不起作用。但是 IResource 的所有实现是内部的...

我还考虑过直接与 JDI 通信,但我无法将其与 Eclipse 调试器结合起来(here 是一个很棒的德国资源)。

如果无法通过任意代码实现,那么在 Eclipse 插件中是否可以实现?这也是一种选择,尽管不是更好的选择。

我找不到任何解决方案,希望在这里得到一些帮助。提前致谢!

最佳答案

大多数 Eclipse 插件只能在 Eclipse 环境中运行,因为它们依赖于正确初始化的 Eclipse/OSGi 插件基础结构。

由于 JDIDebugModel.createLineBreakpoint 需要一个 IResource 对象,因此它只能在带有工作区的 Eclipse IDE(或基于 IDE 的 RCP)中使用。

所以,是的,您可以在 Eclipse 插件中使用它,该插件必须安装到 Eclipse 或 Eclipse RCP 中。

关于java - Eclipse JDT 以编程方式设置/创建断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25445884/

相关文章:

c# - 无法找到或打开 PDB 文件,正在调试 native 代码

python - Kdevelop 与 Python/C++ : no output in debug mode

java - 当我通过命令行调用类时出现 NoClassDefFoundError

java - C# 相当于 Java 的 KDFCounterBytesGenerator(来自 bouncycaSTLe)

java - 将 commandLink 嵌套到输出格式

Android:bin/res/crunch 文件夹是做什么用的?

linux - 在 Ubuntu 上安装 Eclipse 插件的简单方法

java - java中使用plink的问题

android - Eclipse ADT 17 在编辑布局 UI 时导致内存泄漏?

java - 如果有空闲堆空间,为什么会出现 OutOfMemoryError 错误?