【发布时间】:2012-08-06 15:03:50
【问题描述】:
如何在 eclipse Juno (4.2) 中将方法入口断点设置为不可编辑(库)类的合成默认构造函数?
例如
public class Foo {} // can't change that code
// (...)
Foo foo = new Foo() // now it should stop
Foo bar = new Foo() // stop again
一般情况下可以吗?
为了进一步澄清这一点,我想停止每次在运行时创建 Foo 的实例,不是在加载类后。在复杂的设置中,我必须区分是 foo 还是 bar 创建实例。
它基本上应该与不可见的合成构造函数上的断点相同,实际上不会将该构造函数添加到代码中,例如
public class Foo {
public Foo(); //break here
}
已解决
对于 .class 文件,默认构造函数在大纲视图中列出。可以通过右键添加方法入口断点。
【问题讨论】:
-
cmets from #eclipse - MisterD: "断点是通过类的限定名称和成员签名来识别的。如果是这样,您可以创建一个具有相同属性的类和成员,并且断点将适用于源类和编译类,例如获取源类断点,将其导出并导入到该类是库类的项目中,可能会起作用”
-
另一种选择可能是为 java.lang.Object 的构造函数设置断点,条件为“this.getName().equals("Foo")”
标签: java eclipse debugging breakpoints eclipse-jdt