2017-09-05 2 views
0

Ich habe eine Anwendung an den jdb-Debugger angehängt. Ich versuche, den Zustand der globalen/Klassenvariablen durch jdb Debugger zu wissen.JDB Globale Variablen drucken

Class MyClass() { 

    private static String myString; 

    public void myMethod() { 
    // Some code 
    } 

} 

Nehmen wir an, mein Haltepunkt ist in myMethod() -Methode. Wir können die Variablen mit dem Befehl print/dump drucken (siehe here). Ich habe versucht, Klassenvariable myString mit dem Befehl print myString zu drucken, wenn der Haltepunkt in der Methode myMethod() ist. Aber es hat die Ausnahme - com.sun.tools.beispiel.bug.expr.ParseException ausgelöst: Name unbekannt: myString. Ich kann lokale Variablen in der Methode myMethod() ausgeben/ausgeben.

+2

, was die myString Befehl Druck ist? – Stultuske

+0

Sie müssen 'self.myString' verwenden, um auf Klassenvariablen zuzugreifen. – campovski

+0

@Stultuske Ja, der Befehl ist 'Print myString' nach dem Anhängen der JDB. –

Antwort

0

Da myString ist ein statisches Feld auf der Klasse, sollten Sie in der Lage sein, es zugreifen, indem Sie einen statischen Bezeichner verwenden:

dump <full-classpath>.MyClass.myString