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.