2014-11-10 10 views
8

Die Variablenansicht des Eclipse-Java-Debug-Modus ermöglicht die Überprüfung der Werte von Variablen. Was ich häufig vermisse, ist die Überprüfung des Rückgabewerts von Methoden: Wenn ein solcher Rückgabewert nicht in einer Variablen gespeichert wird, sondern sofort zum Aufruf einer seiner Methoden verwendet wird, ist er im Debugger nicht sichtbar.Java-Debug-Modus: So erhalten Sie den Rückgabewert des Funktionsaufrufs

Betrachten Sie beispielsweise foo.getBar().equals("xxx");, wobei getBar() einen String ergibt. Wenn die Quelle foo nicht verfügbar ist, wie kann das Ergebnis getBar() vor dem Aufruf an .equals() überprüft werden? Natürlich kann man den Code ändern, indem man eine lokale Variable einführt, die das Ergebnis enthält. Aber das ist im Allgemeinen zu unpraktisch.

Eclipse-Standard/SDK

Version: Luna Service Release 1 (4.4.1) Build-ID: 20140925-1800

+0

Sie brauchen die Quelle nicht. Wechseln Sie in die Methode, und Ihr Wert wird in der Variablenansicht angezeigt, ohne die Quelle zu sehen. –

Antwort

11

Sie den Ausdruck (in diesem Fall wählen foo.getBar()) zu inspizieren wählen können, dann Klicken Sie mit der rechten Maustaste und wählen Sie "Inspect", oder geben Sie die Verknüpfung ein Ctrl + Shift + i. Der Nebeneffekt ist, dass die Methode ausgeführt wird, so dass Änderungen, die in der Methode in beispielsweise Mitgliedsfeldern vorgenommen werden, angewendet werden.

Siehe Evaluating expressions in a debugging session, übertragen von der SO-Dokumentation als Beispiel für eine entsprechende Dokumentation.

+1

Das scheint der Trick zu sein. Aber im Allgemeinen frage ich mich über Inspektion und Nebenwirkungen? –

+3

Der Nebeneffekt ist, dass es die Methode ausführt, so dass Änderungen, die in der Methode in beispielsweise Mitgliedsfeldern vorgenommen werden, angewendet werden. – manouti

Verwandte Themen