¿Cómo puedo depurar un programa C en Linux?

2 minutos de lectura

Estoy escribiendo un programa en lenguaje C en Linux y compilándolo usando GCC.

También uso un archivo Make.

quiero depurar mi programa. No quiero depurar un solo archivo, quiero depurar todo el programa.

¿Cómo puedo hacerlo?

Compile su código con el indicador -g y luego use el depurador gdb. La documentación para gdb es aquípero en esencia:

gcc -g -o prog myfile.c another.c

y luego:

gdb prog

Si desea una GUI fácil de usar para gdb, eche un vistazo a DDD o Visión.

  • También hay una interfaz gráfica para gdb llamada ddd que puede ser útil si tiene dificultades para acostumbrarse a gdb.

    – wasatz

    7 de abril de 2010 a las 8:29

  • +1 solo para agregar – stackoverflow.com/questions/2588853/…

    – N 1.1

    7 de abril de 2010 a las 8:29

  • Tengo un gran número de archivos .c. según tú tengo que incluirlos todos. ¿Hay alguna forma más corta?

    – ambika

    7 de abril de 2010 a las 8:45

  • @ambika Simplemente agregue -g a la macro CFLAGS en su archivo MAKE

    luego

    7 de abril de 2010 a las 8:51

  • No olvide la opción -Wall y hacer que se compile limpio.

    – Tadeusz A. Kadłubowski

    7 de abril de 2010 a las 8:59

Supongo que estás construyendo desde la línea de comando.

Es posible que desee considerar un IDE (Entorno de desarrollo integrado), como KDevelop o Eclipse, etc. (sugerencia: Eclipse … ECLPISE … ECLI PS E).

Use un IDE para editar su código, refactorizar su código, examinar su código: árbol de clases, haga clic en una variable, clase o función para saltar a la declaración, etc., etc.

Y, por supuesto, para depurar:

  • ejecuta tu código en el IDE
  • establecer puntos de interrupción para detenerse en líneas particulares
  • o simplemente paso, una línea a la vez
  • examine la pila de llamadas para ver cómo va allí
  • examinar los valores actuales de las variables, para entender su problema
  • cambia los valores de esas variables y corre a ver que pasa
  • y más, más, más

pd como mencionó wasatz- DDD es excelente: para visualizar el contenido de matrices/matrices y, en mi opinión, especialmente si tiene listas vinculadas

¿Como puedo depurar un programa C en

Puede usar la GUI simple y útil basada en gdb “Nemiver”. Puede depurar todo su módulo que comprende muchos archivos fuente.

ingrese la descripción de la imagen aquí

Tratar cgdb

cgdb es una interfaz ligera de curses (basada en terminal) para el depurador GNU (GDB). Además de la consola gdb estándar, cgdb proporciona una vista de pantalla dividida que muestra el código fuente a medida que se ejecuta. La interfaz del teclado sigue el modelo de vim, por lo que los usuarios de vim deben sentirse como en casa usando cgdb.

repositorio de github

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad