2015-01-23 9 views
12

Wie kann ich mit dem IntelliJ- oder Eclipse-Debugger den folgenden Code verwenden, um false von der condition() -Methode zurückzugeben?Edit-Methode Rückgabewert in einem Debugger

public boolean condition() { 
    return (4 == add()); 
} 

public int add() { 
    return 2 + 2; 
} 

Antwort

7

In Eclipse können Sie Force Return verwenden.

Platzieren Sie einfach einen Haltepunkt auf return (4 == add());, und geben Sie false auf der Registerkarte Ansicht anzeigen ein. Wählen Sie dann Ihre false, klicken Sie mit der rechten Maustaste und drücken Sie "Force Return".

+0

Danke, es funktioniert für mich, ich habe eine Methode, die ein Null-Objekt zurückgeben, und wenn er die Rückkehr durch Instanziieren einer neuen Instanz in der Anzeige-Ansicht erzwingt, funktioniert. – Adil

-2

Sie können zunächst den Code für condition zu so etwas wie dies ändern:

public boolean condition() { 
    boolean result = (4 == add()); 
    return result; 
} 

Dann Sie einen Haltepunkt auf der return Anweisung festlegen. Wenn der Haltepunkt erreicht wird, können Sie den Debugger verwenden, um den Wert result in false zu ändern.

+0

Ich stimme zu, dass funktioniert, aber das ist eine Antwort auf eine andere Frage. – user675801

+1

Ich frage speziell, wie Sie den Rückgabewert auf der Call-Stack zur Laufzeit ändern. Sie haben vorgeschlagen, zum Zeitpunkt der Kompilierung eine neue Variable zu erstellen und diese Call-Stack-Variable zur Laufzeit zu bearbeiten. – user675801

+0

Sie können nur den IDE-Debugger verwenden, der nur den Wert einer Variablen ändern kann. Ändern des Codes (wie in meiner Antwort) ist der einzige Weg, um zu tun, was Sie wollen. – cybersam