Saltar al contenido principal

Depurador

Introducción al depurador​

El depurador de JARU IDE te permite ejecutar tu código paso a paso, inspeccionar variables y encontrar errores de forma eficiente.

Breakpoints​

Los breakpoints (puntos de interrupción) detienen la ejecución en una línea específica.

Añadir un breakpoint​

  • Haz clic en el margen izquierdo junto al número de línea
  • O posiciona el cursor en la línea y presiona F9

Aparecerá un círculo rojo indicando el breakpoint.

Eliminar un breakpoint​

  • Haz clic de nuevo en el círculo rojo
  • O presiona F9 en la línea

Desactivar temporalmente​

  • Clic derecho en el breakpoint > "Desactivar"
  • El círculo se volverá hueco

Iniciar depuración​

  1. Añade al menos un breakpoint
  2. Presiona F5 o haz clic en "Depurar"
  3. La ejecución se detendrá en el primer breakpoint

Controles de depuración​

AcciónAtajoDescripción
ContinuarF5Continúa hasta el siguiente breakpoint
Paso a paso (Step Over)F10Ejecuta la línea actual sin entrar en funciones
Entrar (Step Into)F11Entra en la función de la línea actual
Salir (Step Out)Shift+F11Sale de la función actual
DetenerShift+F5Detiene la depuración
ReiniciarCtrl+Shift+F5Reinicia la depuración

Panel de Variables​

Durante la depuración, el panel de variables muestra:

Variables locales​

Variables del ámbito actual:

📁 Locales
├── i: 5
├── nombre: "Juan"
└── lista: [1, 2, 3]

Variables globales​

Variables definidas en el ámbito global.

this​

Propiedades del objeto actual (dentro de una clase).

Ventana Watch​

La ventana Watch te permite observar expresiones específicas.

Añadir una expresión​

  1. Abre el panel Watch
  2. Haz clic en "Añadir expresión"
  3. Escribe la variable o expresión (ej: persona.edad, lista[0], a + b)

Expresiones válidas​

  • Variables simples: contador
  • Propiedades: objeto.propiedad
  • Índices: lista[0]
  • Expresiones: a + b * 2
  • Llamadas: len(lista)

La ventana Watch actualiza los valores en tiempo real mientras depuras.

Pila de llamadas (Call Stack)​

Muestra la secuencia de funciones que llevaron al punto actual:

📚 Pila de llamadas
├── calcular() - línea 25
├── procesar() - línea 18
└── main() - línea 5

Haz clic en cualquier entrada para saltar a esa ubicación.

Consola de depuración​

Durante la depuración puedes:

  • Ver la salida de print y println
  • Evaluar expresiones escribiendo en la consola
  • Ver mensajes de error

Ejemplo práctico​

func factorial(n)
if (n <= 1) then // Añade breakpoint aquí
return 1
end
return n * factorial(n - 1)
end

var resultado = factorial(5)
print(resultado)
  1. Añade un breakpoint en la línea del if
  2. Presiona F5 para iniciar
  3. Observa el valor de n en el panel de variables
  4. Usa F5 para continuar y ver cómo cambia n en cada llamada recursiva

Consejos​

Depuración eficiente
  • Usa breakpoints condicionales para casos específicos
  • La ventana Watch es ideal para expresiones complejas
  • Step Over (F10) es más rápido que Step Into (F11) cuando no necesitas entrar en funciones conocidas
Rendimiento

La depuración paso a paso es más lenta que la ejecución normal. Usa breakpoints estratégicamente en lugar de recorrer todo el código línea por línea.