【问题标题】:JDB Print Global VariablesJDB 打印全局变量
【发布时间】:2017-09-05 08:47:56
【问题描述】:

我已将一个应用程序附加到 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:名称未知:myString。 我能够打印/转储 myMethod() 方法中存在的局部变量。

【问题讨论】:

  • 命令 print myString 是什么?
  • 你必须使用self.myString来访问类变量。
  • @Stultuske 是的,附加 jdb 后命令是 'print myString'。
  • @campovski 仍然遇到同样的错误。
  • @SnehaV print myString 是无效的 Java 语法

标签: java jdb


【解决方案1】:

由于myString 是类上的静态字段,您应该可以使用静态标识符来访问它:

dump <full-classpath>.MyClass.myString

【讨论】:

    猜你喜欢
    • 2011-09-09
    • 1970-01-01
    • 2011-04-08
    • 2019-06-15
    • 1970-01-01
    • 2020-10-16
    • 2012-11-28
    • 2016-10-31
    • 2015-11-18
    相关资源
    最近更新 更多