Saltar al contenido principal

Depurador

Introducción al depurador​

El depurador de JARU IDE ejecuta tu programa en su propia VM y lo detiene en las líneas que marques, para que avances línea a línea y mires el valor de las variables. Sus botones están en la pestaña Build de la cinta, en el grupo Debug.

Puntos de parada​

Un punto de parada detiene el programa cuando llega a esa línea.

  • Para ponerlo, haz clic en el margen izquierdo del editor de código, junto al número de línea, o deja el cursor en la línea y pulsa F9.
  • En el margen aparece una marca roja.
  • Para quitarlo, haz clic otra vez en la marca o pulsa F9 en la línea.

Iniciar la depuración​

  1. Pon al menos un punto de parada.
  2. Pulsa Debug, o F5 en el editor de código. El IDE compila el proyecto y lo arranca en su propia VM.
  3. Al llegar al punto de parada, el programa se detiene, el editor marca la línea y el Output dice en qué línea y fichero está parado. El IDE se pone delante.
El programa espera

Mientras está parado, la ventana del juego no responde, y Windows puede decir «No responde». Es normal: espera a que le digas que siga.

Controles​

AcciónBotónAtajoQué hace
DepurarDebugF5Compila y arranca el programa para depurarlo
ContinuarContinueF5Sigue hasta el siguiente punto de parada
Paso a pasoStep OverF10Ejecuta la línea marcada sin entrar en las funciones que llama
EntrarStep IntoEjecuta la línea marcada entrando en la función que llama
DetenerStopCierra el programa y su consola

Los atajos funcionan con el cursor en el editor de código. Stop está en el grupo Compiler de la misma pestaña.

Ventana Watch​

Watch, en el grupo Debug, abre una ventana que enseña las variables que le pidas:

  1. Escribe el nombre de la variable en la caja de arriba. Trae escrito «New Variable...»: bórralo antes.
  2. Pulsa Intro.
  3. Con el programa parado, la ventana enseña su valor (Value), su tipo (Type) y su contexto (Context), por ejemplo local.

Las listas largas salen por páginas: Items/page dice cuántos elementos caben en cada una.

También puedes añadirla desde el editor de código: pon el cursor en el nombre de la variable, o selecciónalo, haz clic derecho y elige Add Watch. Si Watch está cerrada, la abre; si el programa está parado, enseña ya su valor, y si la variable ya estaba en la lista, te lo dice. El clic derecho no mueve el cursor: cuenta la palabra donde está el cursor, no la que tiene el ratón debajo.

Ejemplo práctico​

func factorial(n)
if (n <= 1) then // Pon aquí el punto de parada
return 1
end
return n * factorial(n - 1)
end

var resultado = factorial(5)
print(resultado)
  1. Pon un punto de parada en la línea del if, con un clic en el margen o con F9.
  2. Pulsa F5 para depurar. El programa se para en el if.
  3. En Watch, añade n: vale 5.
  4. Pulsa F5 para seguir. El programa vuelve a pararse en el if con la llamada siguiente, y Watch enseña el n nuevo.

Lo que todavía no tiene​

El depurador no tiene puntos de parada condicionales, y un punto de parada no se puede desactivar sin quitarlo. No enseña la pila de llamadas ni un panel con las variables locales, ni tiene una consola para evaluar expresiones. Tampoco hay un botón para salir de la función actual (Step Out).

Consejos​

Depuración eficiente

Step Over (F10) no entra en las funciones: es lo más rápido cuando ya sabes que una función hace lo que debe.

Rendimiento

La depuración paso a paso es más lenta que la ejecución normal. Pon los puntos de parada donde te interesen, en lugar de recorrer todo el código línea a línea.