El depurador integrado de Emacs, una joya infravalorada

Fuentes: Underappreciated builtin: Grand Unified Debugger

El artículo repasa el Grand Unified Debugger (GUD) de Emacs, una herramienta de depuración integrada en el editor que suele pasar desapercibida pese a su potencia. GUD actúa como interfaz común para múltiples depuradores: GDB, LLDB, Perldb, JDB, PDB, Guiler, DBX, XDB y SDB, lo que permite trabajar desde Emacs con lenguajes como C, C++, Python, Java, Perl o Scheme.

El texto se centra en la interfaz gráfica de GDB. Para ilustrarla, el autor compila un programa de ejemplo en C (fibo.c) con gcc -g y, tras ejecutar M-x gdb, obtiene un buffer gud-fibo. Desde esa ventana puede colocar breakpoints haciendo clic en el margen izquierdo, avanzar paso a paso con los botones Step y Next de la barra de herramientas, recorrer la pila de llamadas con Up Stack y Down Stack, y continuar la ejecución hasta el siguiente punto de interrupción.

GUD incorpora además ventanas dedicadas para gestionar puntos de interrupción, inspeccionar variables locales y visualizar la salida del programa. Para consultar el valor de una variable basta con situar el cursor sobre ella; también es posible definir watches que se actualizan automáticamente cuando cambia su contenido. El autor anuncia una segunda entrega con funciones avanzadas y otros depuradores compatibles.