Depurando con CGDB
Depurar con gdb no es realmente complicado, al principio uno se siente tentado de usar printf’s(C)/std::couts(C++) como método de depuración, pero no!, invertir tiempo en aprender a usar mÃnimamente gdb es más práctico, más eficiente y además ahorra mucho tiempo. Hay mil manuales sobre gdb, aquà os propongo dos que he encontrado buscando a bote pronto, gdb-quickreference y esta guÃa, aunque la documentación oficial es genial.
En cualquier caso, ya de puestos, y suponiendo que os habéis mirado algo de gdb, buscando interfaces gráficas para el gdb encontré este que me ha gustado especialmente, cgdb. Es básicamente un gdb, en ncurses, pero con una ventana para ver el código con resaltado de sintaxis y la posibilidad de abrir el tty de la aplicación en otra subventana (para no mezclar la entrada/salida del programa con la linea de comandos del depurador).
Si ya sabes gdb, esto solamente será azúcar para tu debug 🙂
La guÃa está muy bien. Tiene un montón de comandos muy útiles que no conocÃa. Sin embargo, no menciona un truco bastante útil: la mayorÃa de la gente, para empezar a depurar, hace un
b main
r
para que el programa pare justo en el comienzo. Eso se puede hacer automáticamente con el comando
start
que inicia la ejecución y la detiene al principio de main. Además acepta los mismos parámteros que ‘run’.