我想跟踪实例变量的值,并且我的断点从静态方法开始。我无法检查实例变量值。有没有办法做到这一点?我搜索了谷歌,但没有发现任何线索。在Eclipse调试器中,无法检查静态方法中的实例变量值
是否因为实例无法在静态方法中访问?
我想跟踪实例变量的值,并且我的断点从静态方法开始。我无法检查实例变量值。有没有办法做到这一点?我搜索了谷歌,但没有发现任何线索。在Eclipse调试器中,无法检查静态方法中的实例变量值
是否因为实例无法在静态方法中访问?
您可以将正在跟踪的变量传递给方法。尽管每次你做这个时都要做一个记录,所以你可以在完成测试后将其删除。但是说实话,如果你没有从方法内部访问变量,那么除非你有多个线程,否则在你退出方法的时候它可能不会改变。因此,您可以在调用方法之后/之前设置断点。
静态方法无法访问实例变量的值,根据定义,该实例变量的值未定义,直到创建对象的实例。
public class A {
private int b;
public static void foo() {
b = 1;
}
}
由于这个原因,不会编译。绕过它来使b本身变成静态的。当然,你应该明白什么是静态的。这意味着无论在给定的JVM中存在多少个类实例,都只有一个b实例。
静态方法不与实例关联。 – 2013-04-20 01:16:58
请在此发布您的代码,以便我们可以提供解决方法。 – 2013-04-20 01:53:00