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()方法中存在的局部变量。
答
由于myString
是在类静态字段,你应该能够通过使用静态标识符访问:
dump <full-classpath>.MyClass.myString
什么命令打印的myString? – Stultuske
您必须使用'self.myString'来访问类变量。 – campovski
@Stultuske是的,在连接jdb之后,命令是'print myString'。 –