2017-09-05 3 views
0

私はアプリケーションをjdbデバッガに接続しました。私は、グローバル/クラス変数の状態をjdbデバッガを通して知ろうとしています。JDB Printグローバル変数

Class MyClass() { 

    private static String myString; 

    public void myMethod() { 
    // Some code 
    } 

} 

my breakpointがmyMethod()メソッドにあるとします。 print/dumpコマンド(hereを参照)を使用して変数を印刷することができます。ブレークポイントがメソッドmyMethod()にある場合は、のprint myStringというコマンドを使用して、クラス変数myStringを出力しようとしました。しかし、例外がスローされました。com.sun.tools.example.debug.expr.ParseException:Name unknown:myString。 メソッドmyMethod()に存在するローカル変数を出力/ダンプすることができます。

+2

コマンド印刷のmyStringは何ですか? – Stultuske

+0

'self.myString'を使ってクラス変数にアクセスする必要があります。 – campovski

+0

@Stultuskeはい、コマンドは、jdbを付けた後に 'print myString'です。 –

答えて

0

myStringは、クラスの静的フィールドであるので、あなたは、静的な識別子を使用してアクセスすることができるはずです。

dump <full-classpath>.MyClass.myString