Bienvenidos sean a este post, antes de comenzar a hablar sobre la libreria indiquemos que es un debug:
La palabra en su version castellanizada se traduce como depurar y esto significa la capacidad de estudiar un error para poder solucionarlo
El Tinchicus
Pero cada lenguaje tiene su forma de hacerlo, con esto establecimos muy por arriba que es un debug para seguir con este post pasemos a hablar su libreria la cual no es un debugger (depurador) para Lua pero si nos proveera unas acciones primitivas necesarias para crear tu propio depurador, por razones de performance la interfaz oficial a estos primitivos es a traves de la API de C, esta libreria en Lua es una manera para accederlas directamente dentro del codigo de Lua.
A diferencia de otras librerias deberias usar a esta libreria con parsimonia, porque algunas de las funcionalidades, a nivel general, no son famosas por su performance, tambien rompe algunas verdades sagradas del lenguaje, como por ejemplo que no puedes acceder a una variable local por fuera de la funcion que la creo, una practica habitual es no utilizar esta libreria en la version final de tu producto o de lo contrario podrias borrarlo ejecutando debug = nil.
Esta libreria comprende dos tipos de funciones:
- introspectivas
- ganchos
Las funciones instrospectivas nos permiten inspeccionar varios aspectos del programa que esta corriendo, tal como la pila (stack) de las funciones activas, la linea actual de ejecucion y tambien valores y nombres de las variables locales, en cambio los ganchos nos permite rastrear (trace) la ejecucion de un programa.
Un concepto importante en esta libreria es el nivel de la pila, este nivel es un numero que refiere a una funcion en particular que esta activa a ese momento, es decir una que ha sido llamada y todavia no ha retornado, por ejemplo la funcion que llama a la libreria debug tiene el numero 1, la funcion que la ha llamado tiene el nivel 2 y asi sucesivamente, no se preocupen lo veremos mas adelante al igual que los distintos tipos de funciones.
Nota: Una curiosidad porque se llama al proceso de depuracion como debug es porque en la primer computadora que era mecanica, el primer error que ocurrio fue debido a que un bicho (bug) se interpuso en el medio de la ejecucion, por eso a la accion de corregirlo se lo llamo debug, su traduccion literal seria desbichar pero hoy se lo llama depurar como mencionamos antes.
En resumen, hoy hemos visto una leve introduccion a esta libreria, que nos provee, que no nos provee, que es una depuracion, para que se usa, los distintos tipos de funciones, y vistazo general como trabaja, espero les haya sido util sigueme en Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.
Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.


Tambien podes donar
Es para mantenimiento del sitio, gracias!
$1.50