JDB打印全局变量

问题描述:

我附加了一个应用程序到jdb调试器。我想通过jdb调试器知道全局/类变量的状态。JDB打印全局变量

Class MyClass() { 

    private static String myString; 

    public void myMethod() { 
    // Some code 
    } 

} 

假设我的断点在myMethod()方法中。我们可以使用print/dump命令打印变量(请参阅here)。当断点位于方法myMethod()中时,我试图使用命令print myString来打印类变量myString。但它抛出了异常 - com.sun.tools.example.debug.expr.ParseException:名称unknown:myString。 我可以打印/转储myMethod()方法中存在的局部变量。

+2

什么命令打印的myString? – Stultuske

+0

您必须使用'self.myString'来访问类变量。 – campovski

+0

@Stultuske是的,在连接jdb之后,命令是'print myString'。 –

由于myString是在类静态字段,你应该能够通过使用静态标识符访问:

dump <full-classpath>.MyClass.myString