Jak korzystać z warunkowego punktu przerwania w Eclipse?


117

Chcę wiedzieć, jak umieścić warunkowy punkt przerwania w Eclipse. Mam taki kod:

public static void doForAllTabs(String[] tablist){
    for(int i = 0; i<tablist.length;i++){
-->        doIt(tablist[i]);
    }
}

Teraz chcę umieścić punkt przerwania na linii ze strzałką, ale chcę, aby był uruchamiany tylko wtedy, gdy:

tablist[i].equalsIgnoreCase("LEADDELEGATES");

Odpowiedzi:


179

Umieść swój punkt przerwania. Kliknij prawym przyciskiem myszy obraz punktu przerwania na marginesie i wybierz Właściwości punktu przerwania :

wprowadź opis obrazu tutaj

Skonfiguruj stan według własnego uznania:

wprowadź opis obrazu tutaj


9
Najnowsza wersja Eclipse zawiera te opcje również bezpośrednio w widoku punktów przerwania.
Michael Brewer-Davis,

1
Dzięki stary! zaoszczędziłem mnóstwo czasu! :)
MozenRath,

8
Łał! Używam: if(condition){System.out.println("debug");}i łamię się na wyciągu drukowanym od lat.
Cruncher

5
Nie zapomnij o POMINIĘCIU ;na końcu - wyskoczył mi błąd, kiedy go umieściłem.
modulitos

Wielkie dzięki! To było bardzo pomocne.
hfontanez

11

Utwórz normalny punkt przerwania na doIt(tablist[i]);linii

Kliknij prawym przyciskiem myszy -> Właściwości

Zaznacz „Warunkowo”

Wchodzić tablist[i].equalsIgnoreCase("LEADDELEGATES")


Nie potrzebujesz średnika na końcu wyrażenia? Warunkowe punkty przerwania mogą działać tylko wtedy, gdy dodam średnik (i to niezbyt często nawet wtedy).
Cajunluke

3
@CajunLuke To samo tutaj. Właśnie wypróbowałem to z final T[](typem nieogólnym) i otrzymałem Conditional breakpoint has compilation error(s). Co zabawne, mój stan jest, bonds==nulla przyczyna w oknie dialogowym błędu to invalid AssignmentOperator. westchnienie Czasami Eclipse zachowuje się bardziej jak 12-letni człowiek niż 12-letni program.
KomodoDave

3

Od Eclipsepedia o tym, jak ustawić warunkowy punkt przerwania:

Najpierw ustaw punkt przerwania w danej lokalizacji. Następnie użyj menu kontekstowego w punkcie przerwania na lewym marginesie edytora lub w widoku Punkty przerwania w perspektywie debugowania i wybierz właściwości punktu przerwania. W oknie dialogowym zaznacz opcję Włącz warunek i wprowadź dowolny warunek Java, taki jak list.size()==0. Teraz za każdym razem, gdy zostanie osiągnięty punkt przerwania, wyrażenie jest oceniane w kontekście wykonania punktu przerwania, a punkt przerwania jest ignorowany lub honorowany, w zależności od wyniku wyrażenia.

Warunki można również wyrazić w postaci innych atrybutów punktów przerwania, takich jak liczba trafień.


Twój link nie jest ?zakodowany. Spróbuj tego .
KomodoDave

Dzięki, doceniam to

2

1. Utwórz klasę

public class Test {

 public static void main(String[] args) {
    // TODO Auto-generated method stub
     String s[] = {"app","amm","abb","akk","all"};
     doForAllTabs(s);

 }
 public static void doForAllTabs(String[] tablist){
     for(int i = 0; i<tablist.length;i++){
         System.out.println(tablist[i]);
    }
  }
}

2. Kliknij prawym przyciskiem myszy lewą stronę pliku System.out.println (tablist [i]); w Eclipse -> wybierz Toggle Breakpoint

3. Kliknij prawym przyciskiem myszy punkt przełączania -> wybierz Właściwości punktu przerwania

4. Zaznacz warunkowe pole wyboru -> wpisz tabelę [i] .equalsIgnoreCase ("amm") w polu tekstowym -> kliknij OK

5. Kliknij prawym przyciskiem myszy klasę -> Debuguj jako -> Aplikacja Java

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.