Java Can';t在Eclipse调试器中检查静态方法中的实例变量值
我想跟踪实例变量的值,断点从静态方法开始。我无法检查实例变量值。有办法吗?我在谷歌上搜索,但没有找到任何线索Java Can';t在Eclipse调试器中检查静态方法中的实例变量值,java,debugging,static-methods,Java,Debugging,Static Methods,我想跟踪实例变量的值,断点从静态方法开始。我无法检查实例变量值。有办法吗?我在谷歌上搜索,但没有找到任何线索 是因为静态方法无法访问实例吗?您可以将正在跟踪的变量传递给该方法。尽管您只是在每次执行此操作时做一个注释,以便在完成测试时删除它 但是老实说,如果您不能从方法中访问变量,那么在退出方法时它可能不会改变,除非您有多个线程。因此,您可以在调用方法之后/之前设置断点。静态方法无法访问实例变量的值,根据定义,在创建对象实例之前,实例变量的值是未定义的 public class A { pr
是因为静态方法无法访问实例吗?您可以将正在跟踪的变量传递给该方法。尽管您只是在每次执行此操作时做一个注释,以便在完成测试时删除它
但是老实说,如果您不能从方法中访问变量,那么在退出方法时它可能不会改变,除非您有多个线程。因此,您可以在调用方法之后/之前设置断点。静态方法无法访问实例变量的值,根据定义,在创建对象实例之前,实例变量的值是未定义的
public class A {
private int b;
public static void foo() {
b = 1;
}
}
正因为这个原因,我不会编译。A围绕它工作,使b本身静止。当然,您应该理解使b为static意味着什么。这意味着,无论给定JVM中存在多少类实例,b都只有一个实例。静态方法与实例不关联。请在此处发布代码,以便我们建议解决方法。