El depurador GNU

Aunque make automatiza el proceso de construcción de un programa Linux, esa parte de la programación es la menor de sus preocupaciones cuando un programa no funciona correctamente o cuando un programa se cierra repentinamente con un mensaje de error. Necesita un depurador para encontrar la causa de los errores del programa. Linux incluye gdb , el depurador GNU versátil con una interfaz de línea de comandos.

Como cualquier depurador, gdb le permite realizar tareas típicas de depuración, como las siguientes:

  • Establezca un punto de interrupción para que el programa se detenga en una línea específica.

  • Mire los valores de las variables en el programa.

  • Recorra el programa una línea a la vez.

  • Cambie las variables en un intento de corregir errores.

El depurador de gdb puede depurar programas C y C ++.

Preparación para depurar un programa

Si desea depurar un programa utilizando gdb , debe asegurarse de que el compilador genere y coloque información de depuración en el ejecutable.

La información de depuración contiene los nombres de las variables en su programa y la asignación de direcciones en el archivo ejecutable a líneas de código en el archivo fuente. gdb necesita esta información para realizar sus funciones, como detenerse después de ejecutar una línea específica de código fuente.

Para asegurarse de que el ejecutable esté preparado correctamente para la depuración, use la opción -g con GCC. Puede realizar esta tarea definiendo la variable CFLAGS en el archivo MAKE como

CFLAGS = -g

Ejecutando gdb

La forma más común de depurar un programa es ejecutar gdb usando el siguiente comando:

gdb progname

progname es el nombre del archivo ejecutable del programa. Después de que se ejecuta progname , gdb muestra el siguiente mensaje y le solicita un comando:

GNU gdb (GDB) 7.5.91.20130417-cvs-ubuntu
Copyright (c) 2013 Free Software Foundation, Inc.
Licencia GPLv3 +: GNU GPL versión 3 o posterior ___ <http://gnu.org/licenses/gpl.html>
Este es un software gratuito: puede cambiarlo y redistribuirlo.
NO HAY GARANTÍA, en la medida permitida por la ley. Escriba "mostrar copia" y "mostrar garantía" para obtener más detalles.
Este GDB se configuró como "i686 - linux-gnu".
Para obtener instrucciones sobre informes de errores, consulte:
http://www.gnu.org/software/gdb/bugs/.
(gdb)

Puede escribir comandos gdb en el indicador ( gdb ). Un comando útil, ayuda , muestra una lista de comandos, como muestra la siguiente lista:

(gdb) ayuda
Lista de clases de comandos:
alias: alias de otros comandos
puntos de interrupción: hacer que el programa se detenga en ciertos puntos
datos: examen de datos
archivos: especificar y examinar archivos
internos - Comandos de mantenimiento
obscure - características oscuras
running - Ejecutando el programa
pila - Examinar la pila
status - Consultas de estado
apoyo - Instalaciones de apoyo
tracepoints: seguimiento de la ejecución del programa sin detener el programa
definido por el usuario: comandos definidos por el usuario
Escriba "ayuda" seguido de un nombre de clase para obtener una lista de comandos en esa clase.
Escriba "ayudar a todos" para ver la lista de todos los comandos.
Escriba "ayuda" seguido del nombre del comando para obtener la documentación completa.
Se permiten abreviaturas de nombres de comandos si no son ambiguas.
(gdb)

Para salir de gdb , escriba q y luego presione Enter.

LEER  10 características que Windows 10 deja de lado

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *