2013-04-20 71 views
0

我想跟踪实例变量的值,并且我的断点从静态方法开始。我无法检查实例变量值。有没有办法做到这一点?我搜索了谷歌,但没有发现任何线索。在Eclipse调试器中,无法检查静态方法中的实例变量值

是否因为实例无法在静态方法中访问?

+1

静态方法不与实例关联。 – 2013-04-20 01:16:58

+0

请在此发布您的代码,以便我们可以提供解决方法。 – 2013-04-20 01:53:00

回答

0

您可以将正在跟踪的变量传递给方法。尽管每次你做这个时都要做一个记录,所以你可以在完成测试后将其删除。但是说实话,如果你没有从方法内部访问变量,那么除非你有多个线程,否则在你退出方法的时候它可能不会改变。因此,您可以在调用方法之后/之前设置断点。

0

静态方法无法访问实例变量的值,根据定义,该实例变量的值未定义,直到创建对象的实例。

public class A { 

    private int b; 

    public static void foo() { 
    b = 1; 
    } 
} 

由于这个原因,不会编译。绕过它来使b本身变成静态的。当然,你应该明白什么是静态的。这意味着无论在给定的JVM中存在多少个类实例,都只有一个b实例。

相关问题