Welche unterschiedlichen Haltepunktsymbole bedeuten in Eclipse?

80

Bei der Arbeit mit Haltepunkten in Eclipse stelle ich manchmal fest, dass sie unterschiedliche Symbole / Anmerkungen (Markierungen in der linken Seitenleiste) haben. Manchmal ist es nur eine blaue Kugel, manchmal ist sie mit einem Häkchen versehen und manchmal ist sie gekreuzt. Was bedeuten all diese Anmerkungen?

Fixpunkt
quelle

Antworten:

139
  • blauer Ball: regulärer Haltepunkt, aktiv (möglicherweise mit festgelegter Trefferzahl)
  • leere Kugel (dh weiß): Haltepunkt wurde deaktiviert (Häkchen in der Haltepunktansicht oder disableim Kontextmenü entfernen )
  • diagonale Linie durch Haltepunkt: Alle Haltepunkte wurden deaktiviert (Schaltfläche skip all breakpointsin der Haltepunktansicht)
  • Fragezeichen neben Haltepunkt: Für diesen Haltepunkt ist eine Bedingung aktiv (siehe Eigenschaften des Haltepunkts).
sleske
quelle
3
Ich hatte Probleme, die Haltepunktansicht zu finden - ab Juno Window-> Show View-> Other-> Debug-> Breakpoints
GregM
5
Danke Ich konnte nicht herausfinden, warum alle Haltepunkte deaktiviert wurden. Dank dir habe ich die Schaltfläche "Alle überspringen" gefunden :)
Janusz
17

Das Häkchen bedeutet, dass der Haltepunkt erfolgreich gesetzt wurde. Ich denke, es kann nur angezeigt werden, wenn Sie Remote-Debugging durchführen. Wenn Sie einen Haltepunkt hinzufügen, beginnt dieser als einfacher Ball. Sobald der JPDA-Agent im Remote-System darüber informiert wurde und bestätigt hat, dass er gesetzt ist, wird er angekreuzt.

Tom Anderson
quelle
1
Vielen Dank dafür, ich konnte die Bedeutung des Häkchens nicht finden.
Honza Zidek
10

Ich habe einen Beispielcode mit Inline-Erklärung erstellt.

public class Breakpoints {
    int field1; // watchpoint - suspend when field1 is read
    int field2; // watchpoint - suspend when field1 is written
    int field3; // watchpoint - suspend when field1 is read or written

    public void method() {
        int x;
        x = 10; // suspend before this line is executed 
        x = 11; // same as above but this breakpoint is temporarily disabled
        for (int i = 0; i < 100; i++) {
            x = i; // conditional breakpoint - suspend when i==5
        }
    }
}

Eclipse-Haltepunktsymbole

Sobald Sie Skip All Breakpointsin der Haltepunktansicht ( Window | Show Viev | Debug | Breakpoints) auswählen , werden alle Symbole wie folgt diagonal durchgestrichen:

Eclipse-Haltepunktsymbole Alle überspringen

Honza Zidek
quelle
6

Zu früheren Antworten hinzufügen. Das kleine Weiß cüber einem grünen Ballsymbol bedeutet, dass sich der Haltepunkt auf Klassenebene befindet.

Klassenlast-Haltepunkt

Eclipse-Hilfe

Ali Khan
quelle
5

Ich denke, die Antwort von @sleske erklärt alle Dinge außer:

Blauer Ball mit Häkchen : Der Haltepunkt wurde erfolgreich gesetzt, da Ihr Quellcode mit dem Bytecode übereinstimmt und die Debug-Steuerung dort ankommt.

Nur Blue Ball : Der Quellcode unterscheidet sich vom Byte-Code (möglicherweise führen Sie einen älteren Snapshot des Codes aus). Die Steuerung wird diesen Haltepunkt niemals erreichen. Sie müssen Ihre JARs aktualisieren, um die Kontrolle über diese Haltepunkte zu erhalten.

rdj7
quelle
0

Wenn Sie ein "T" auf der blauen Kugel sehen, bedeutet dies einen Auslösepunkt für das Remote-Debugging Geben Sie hier die Bildbeschreibung ein

Minilik
quelle