Lua:
Usando un depurador

Cómo hacerlo:

Lua no viene con un depurador integrado, pero puedes usar otros externos, como ZeroBrane Studio. Aquí tienes una muestra de cómo trabajarías con él:

-- Este es un script Lua simple con un error intencional
local function add(a, b)
    local result = a + b -- Vaya, fingamos que olvidamos definir 'b'
    return result
end

print(add(10))

Cuando ejecutas esto en un depurador, detendrá la ejecución donde las cosas se complican. Verás algo como esto:

lua: example.lua:3: intento de realizar aritmética con un valor nulo (local 'b')
rastreo de pila:
	example.lua:3: en la función 'add'
	example.lua:7: en el bloque principal
	[C]: en ?

Puedes establecer puntos de interrupción, avanzar paso a paso por tu código y echar un vistazo a los valores de las variables para rastrear el error sin perder la cordura.

Inmersión Profunda

Lamentablemente, la simplicidad de Lua no se extiende a la depuración. Sin embargo, no hay de qué preocuparse, la comunidad de Lua te respalda. Herramientas como ZeroBrane Studio, LuaDec y otras ofrecen capacidades de depuración. Históricamente, los depuradores existieron poco después de que los primeros programas fallaran, dando a los desarrolladores los medios para arreglar su código sin manipularlo a ciegas.

Con Lua, a menudo dependes de depuradores externos o los integras en tu entorno de desarrollo. ZeroBrane Studio, por ejemplo, es un IDE que integra completamente un depurador de Lua. Te permite avanzar paso a paso por el código, establecer puntos de interrupción y observar variables. En el lado de la implementación, los depuradores suelen usar ganchos para insertar puntos de interrupción y otras facilidades de depuración.

¿Alternativas? Por supuesto. Los buenos y viejos comandos de impresión, conocidos cariñosamente como “depuración printf”, a veces pueden hacer el truco sin herramientas sofisticadas.

Ver También

Para continuar tu viaje de depuración, consulta: