Contenido del Curso
Java POO
Java POO
Depurador
¿Qué es un depurador?
Un depurador es una herramienta que te ayuda a recorrer paso a paso tu código. Podemos pausar la ejecución del código en un punto específico e iniciar el modo de depuración para ver cómo está funcionando nuestro código. Para hacer esto, necesitamos establecer un marcador (punto de interrupción) en la línea donde queremos pausar.
Tenemos un código que debería calcular la suma de los números del uno al diez, inclusive. El resultado debería ser 55
, pero estamos obteniendo 45
como respuesta. Vamos a establecer un punto de interrupción al inicio del bucle para entender por qué la respuesta no coincide. Para hacerlo, debes hacer clic con el botón izquierdo del ratón en el número de línea, y aparecerá un marcador rojo allí.
Aquí tienes el código de la captura de pantalla, reescrito para mayor legibilidad y claridad:
Main.java
package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int result = 0; for(int i = 0; i < 10; i++) { result += 1; System.out.println(result); } } }
Instrumentos dentro del modo de depuración
Veamos brevemente cómo trabajar con el depurador y qué herramientas están disponibles dentro de él.
-
Step Over: Con este botón, podemos continuar la ejecución del código línea por línea. Al presionarlo, el depurador ejecutará la línea actual y pasará a la siguiente, deteniéndose nuevamente;
-
Step Into: Con este botón, podemos ingresar en la ejecución de un método. En nuestro ejemplo, no hay ningún método, pero si lo hubiera, podríamos entrar en él y ver qué sucede allí;
-
Step Out: Este botón es lo opuesto al anterior. Nos permite salir de la ejecución de un método o bucle;
-
Podemos ver los valores de las variables en la ventana inferior o junto a estas variables. Podemos ver claramente el valor de la variable
result
, que inicialmente es cero.
Iteración a través del código
Para iterar, hagamos clic en el botón "Step Over". Entramos en el bucle for
, y aparece el valor de la variable i
, que se crea dentro del bucle for
. Inicialmente, establecemos esta variable en cero.
Luego, hacemos clic en "Step Over" varias veces para completar una iteración y nos dirigimos a la consola para ver si se imprime algo en pantalla. Podemos ver que la variable i
aumentó en 1
, y se mostró "0" en la pantalla, ya que tanto la variable result
como la variable i
se establecieron inicialmente en cero. 0 + 0 = 0
-> esto es lo que se mostró en la pantalla.
Omitamos las iteraciones de impresión de los demás números en la consola y vayamos al final. Es aquí donde podemos ver el error principal en nuestro bucle. Necesitamos mostrar la suma de los números de 0 a 10 inclusive, pero no incluimos el 10. Por lo tanto, cuando vemos que i = 9
y cuando se incrementa a 10
, salimos del bucle ya que 10 !< 10
(10 no es menor que 10).
Para resolver este problema, necesitamos cambiar la condición a i <= 10
. Así obtendremos el resultado correcto.
En esencia, presionamos repetidamente el botón "Step Over" varias veces, lo que nos llevó a darnos cuenta del error en el bucle y a su posterior corrección.
Nota
He mostrado solo las herramientas básicas del depurador. Para aprender a usarlas, se recomienda practicar por cuenta propia. Puede escribir un programa similar y observar de manera independiente cómo funciona todo. El depurador es una herramienta muy útil porque ayuda a trabajar con errores y fallos en el código.
1. ¿Cuál es el propósito principal de un depurador?
2. ¿Qué permite hacer un punto de interrupción en un depurador?
3. ¿Qué hace el botón "Step Over" del depurador?
¡Gracias por tus comentarios!