2010-11-01 7 views
9

Para algunos proyectos actuales, estoy trabajando con varias estructuras de datos que son bastante grandes (en el área de 10K elementos). Para poder acceder a estos datos en listas, necesito usar bucles e iteradores, que pueden ser un problema cuando el área problemática se encuentra en la segunda mitad de la lista.Bucles de depuración

Así que me encuentro pasando mucho tiempo con el dedo en el botón F8 en el depurador de Eclipse para recorrer cada elemento de un ciclo de iteración. Esto empeora cuando tiene que pasar por esa sección en particular varias veces para tener una idea de por qué el código está reaccionando de una manera particular.

Si se tiene una idea general de cuántas veces se debe ejecutar un ciclo antes de que se golpee un área problemática, ¿hay alguna manera de establecer un punto de interrupción para que se ejecute hasta ese punto y luego pausar?

Respuesta

3

Creo que hay una mejor manera de hacer esto, pero se puede crear un bloque trivial de código en el bucle que sólo se ejecuta en un determinado iteración, y poner el punto de interrupción en el interior de la misma.

if (loopIndex == 1000) { 
    int number = 14;   //Break here 
} 
+0

Esto es más o menos lo que originalmente estaba considerando como una solución, pero solo quería saber si había una respuesta mejor – Jason

0

Usando esto como un ejemplo:

for(int i=0;i<10000;i++){ 
    System.out.println(i); 
} 

Establecer un punto de interrupción en la línea de impresión y haga clic derecho sobre él y seleccione Breakpoint Properties.... Desde aquí puede establecer una condición para activar el punto de interrupción. Este es el similar a un condicional que tendrías en una instrucción if. Si desea activar el punto de interrupción cuando yo soy igual a 6000, marque la casilla Conditional y pruebe esto: enter image description here