Wie kann ich leicht erkennen, wenn eine Variable ihren Wert ändert? Ich möchte, dass die Ausführung des Programms im Debugger unterbrochen wird, wenn eine angegebene Variable den Wert ändert. Im Moment verwende ich den Debugger von Eclipse.
So erkennen Sie, wenn eine Variable den Wert ändert
Michael Borgwart
Für eine Klassen- oder Instanzvariable
- Klicken Sie mit der rechten Maustaste auf die Variable in der Gliederungsansicht
- Wählen Sie “Watchpoint umschalten”
- Dann können Sie in der Breakkoints-Ansicht mit der rechten Maustaste auf den resultierenden Eintrag klicken
- Wählen Sie “Breakpoint-Eigenschaften”
- Deaktivieren Sie “Feldzugriff”.
-
Wie füge ich einen Haltepunkt ein, wenn eine Variable im Programm einem bestimmten Wert entspricht?
– Luddens Wunsch
18. April 2019 um 22:47 Uhr
-
@JudeDesir Ich bin mir ziemlich sicher, dass diese Funktion nirgendwo existiert, sie würde eine lächerlich schlechte Leistung verursachen.
– Michael Borgwardt
19. April 2019 um 19:55 Uhr
-
Gibt es eine ähnliche Methode für lokale Variablen innerhalb von Methoden?
– Tim Foster
23. Mai 2019 um 16:03 Uhr
-
Ich benutze Eclipse heutzutage nicht, aber ich bezweifle, dass es existiert. Es ist einfach genug, einfach einen Haltepunkt in jede Zeile der Methode zu setzen, die die Variable ändert.
– Michael Borgwardt
24. Mai 2019 um 8:20 Uhr
-
Diese Funktion existiert, aber ihre Aktivierung kann dazu führen, dass das Programm viel langsamer läuft. Verwenden Sie es sparsam. Es ist nicht immer leicht zu erkennen, wo ein Feld geändert werden könnte, insbesondere wenn das Objekt, das es enthält, an andere Methoden übergeben wird.
– Ocie Mitchell
26. Mai 2020 um 20:14 Uhr
ODER Toggle Breakpoint in der Zeile, in der die Variable deklariert ist, klicken Sie dann mit der rechten Maustaste auf den resultierenden Eintrag, wählen Sie „breakpoint properties“ und deaktivieren Sie „Field Access“.
Bei Eclipse bin ich mir nicht sicher, aber in IntelliJ IDEA können Sie mit der rechten Maustaste auf einen Haltepunkt klicken und die Bedingungen hinzufügen, genau wie in einer if
Aussage. Dann hält der Debugger am Haltepunkt nur an, wenn seine Bedingung wahr ist.
Zum Beispiel, in diesem Fall es hört nur auf, wenn min == 4
.