2011-08-25 20 views
90

Quiero saber cómo colocar un punto de interrupción condicional en Eclipse. Tengo un código como:¿Cómo usar el punto de corte condicional en Eclipse?

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

Ahora quiero poner un punto de interrupción en la línea con la flecha, pero quiero que se activan sólo si:

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

Respuesta

143

Deja tus punto de interrupción. Haga clic en la imagen punto de interrupción en el margen y seleccione Propiedades del punto de interrupción :

enter image description here

condición Configurar como mejor le parezca:

enter image description here

+9

El último Eclipse también incluye estas opciones directamente en la Vista de puntos de interrupción. –

+1

Gracias amigo! ahorré mucho de mi tiempo! :) – MozenRath

+3

¡Guau! He estado usando: 'if (condition) {System.out.println (" debug ");}' y rompiendo la declaración de impresión durante años. – Cruncher

3

De Eclipsepedia sobre cómo establecer un punto de interrupción condicional :

Primero, establezca un punto de interrupción en una ubicación determinada. A continuación, utilice el menú de contexto en el punto de corte en el margen izquierdo del editor o en la vista Puntos de interrupción en la perspectiva de depuración, y seleccione las propiedades del punto de interrupción. En el cuadro de diálogo, marque Habilitar condición e ingrese una condición arbitraria de Java , como list.size()==0. Ahora, cada vez que se alcanza el punto de interrupción , la expresión se evalúa en el contexto de la ejecución del punto de interrupción , y el punto de interrupción se ignora u honra, dependiendo de en el resultado de la expresión.

Las condiciones también se pueden expresar en términos de otros atributos de punto de interrupción , como el recuento de aciertos.

+0

Su enlace no tiene el código '?' Codificado. Pruebe [this] (http://wiki.eclipse.org/FAQ_How_do_I_set_a_conditional_breakpoint%3F). – KomodoDave

+0

Gracias, lo agradezco –

9

Hacer un punto de interrupción de la normalidad en la línea doIt(tablist[i]);

botón derecho -> Propiedades

Comprobar 'condicional'

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

+0

¿No necesita un punto y coma al final de la expresión? Solo puedo obtener puntos de interrupción condicionales si agrego el punto y coma (y no muy a menudo, incluso entonces). – CajunLuke

+3

@CajunLuke Lo mismo aquí. Acabo de probarlo con un 'final T []' (tipo no genérico) y obtengo 'El punto de corte condicional tiene error (es) de compilación '. De manera divertida, mi condición es 'bonos == nulo' y el motivo en el cuadro de diálogo de error es' AssignmentOperator' inválido. _sigh_ A veces, Eclipse se comporta más como un software humano de 12 años que de 12 años. – KomodoDave

2

1.crear una clase

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.Haga clic derecho en el lado izquierdo deSystem.out.println (tablist [i]);en Eclipse -> seleccione Alternar punto de interrupción

3.Haga clic derecho sobrepunto de palanca->seleccionepropiedades Punto de interrupción

4.Compruebe elcondicionalcasilla de verificación->escrituratablist [i] .equalsIgnoreCase ("amm")en el campo de texto->Haga clic en OK

5.Haga clic derecho sobre la clase->depuración Como-> Java Application

Cuestiones relacionadas