2011-08-25 14 views
90

Voglio sapere come posizionare un punto di interruzione condizionale in Eclipse. Ho un codice come:Come utilizzare il punto di interruzione condizionale in Eclipse?

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

Ora voglio mettere un punto di interruzione sulla linea con la freccia, ma voglio che innesca solo se:

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

risposta

143

Metti la tua punto di interruzione. Fare clic con il punto di interruzione dell'immagine sul margine e selezionare Proprietà Breakpoint:

enter image description here

Configura condizione come meglio credi:

enter image description here

+9

L'ultimo Eclipse include queste opzioni direttamente anche nella vista Punti di interruzione. –

+1

Grazie amico! ho salvato molto del mio tempo! :) – MozenRath

+3

Wow! Sto usando: 'if (condition) {System.out.println (" debug ");}' e si interrompe sull'istruzione print per anni. – Cruncher

3

Da Eclipsepedia su come impostare un punto di interruzione condizionale :

Prima di tutto, impostare un punto di interruzione in una posizione specifica. Quindi, utilizzare il menu contesto sul punto di interruzione nel margine dell'editor sinistro o nella vista Punti di interruzione nella prospettiva Debug e selezionare le proprietà del punto di interruzione. Nella finestra di dialogo, selezionare Abilita condizione e immettere una condizione arbitraria Java , ad esempio list.size()==0. Ora, ogni volta che viene raggiunto il punto di interruzione , l'espressione viene valutata nel contesto dell'esecuzione del punto di interruzione e il punto di interruzione viene ignorato o onorato, in base a sul risultato dell'espressione.

Le condizioni possono anche essere espresse in termini di altri punti di interruzione attributi, come il conteggio dei colpi.

+0

Il tuo collegamento non ha la codifica '?'. Prova [this] (http://wiki.eclipse.org/FAQ_How_do_I_set_a_conditional_breakpoint%3F). – KomodoDave

+0

Grazie, apprezzalo –

9

Fai un punto di interruzione sulla linea normale doIt(tablist[i]);

tasto destro del mouse -> Proprietà

Check 'condizionale'

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

+0

Non hai bisogno di un punto e virgola alla fine dell'espressione? Posso ottenere che i breakpoint condizionali funzionino solo se aggiungo il punto e virgola (e non molto spesso neanche allora). – CajunLuke

+3

@CajunLuke Lo stesso qui. L'ho appena provato con un 'T finale []' (tipo non generico) e ottenere 'Il breakpoint condizionale ha errori di compilazione'. In modo divertente, la mia condizione è 'bonds == null' e il motivo nella finestra di errore è' AssignmentOperator' non valido. _sal_ Talvolta Eclipse si comporta più come un bambino di 12 anni che un software di 12 anni. – KomodoDave

2

1.Creare una classe

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.Fare clic destro sul lato sinistro delSystem.out.println (tablist [i]);in Eclipse -> selezionare Toggle Breakpoint

3.clic destro supunto di ginocchiera->selezionareproprietà Breakpoint

4.Controllare ilcondizionaleCasella->scritturatablist [i] .equalsIgnoreCase ("amm")nel campo di testo->Cliccare su OK

5.Fare clic destro sulla classe->Debug Come->Java Application

Problemi correlati