GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo uso GDB en Eclipse para la depuración de C/C++?

Las siguientes instrucciones son para Eclipse 3.5 (Galileo). Para 3.6 (Helios), son similares excepto por el enlace en el paso 2.

  1. Vaya a Ayuda> Instalar nuevo software.
  2. Agregue el repositorio CDT http://download.eclipse.org/tools/cdt/releases/galileo a la lista de repositorios.
  3. Seleccione el depósito de CDT. Ahora debe instalar el complemento CDT junto con la compatibilidad con GDB de la lista de complementos disponibles (seleccione las funciones principales de CDT y la compatibilidad con la depuración de la cadena de herramientas CDT GNU).

Ahora debería poder establecer puntos de interrupción e inspeccionar valores de variables en Eclipse.

Una alternativa es instalar DDD (una interfaz gráfica de usuario para GDB).


Primero descargue Eclipse CDT y asegúrese de que puede importar un proyecto a Eclipse como se muestra en:¿Cómo crear un proyecto a partir de una fuente existente en Eclipse y luego encontrarlo?

Podría intentar probar cosas con este directorio de prueba simple:https://github.com/cirosantilli/ide-test-projects/tree/e93924d4e2ce8cd64b00a7ce67d10d62b497fda1/cpp

git clone https://github.com/cirosantilli/ide-test-projects
cd ide-test-projects/cpp
make
./main.out

Ahora también querrá decirle a Eclipse cómo encontrar símbolos de biblioteca estándar como se explica en:Error de "inclusión no resuelta" con Eclipse CDT para encabezados de biblioteca estándar C Sus valores predeterminados son terribles y simplemente no funcionan.

Una vez que Eclipse importó el proyecto, y p. parece que puede saltar a las definiciones, etc., configuremos una depuración de pasos de GDB.

Primero tienes que ir a:

  • Corre
  • Ejecutar configuraciones
  • Aplicación C/C++
  • cpp Predeterminado ("cpp" es el nombre del proyecto)
  • Aplicación C/C++

y configúralo en:

main.out

Ahora eclipse sabe cómo ejecutar su programa. Podemos confirmarlo haciendo una prueba:

  • Corre
  • Ejecutar (Ctrl + F11)

y la terminal en la parte inferior muestra la salida del programa:

Finalmente, podemos poner un punto de interrupción en cualquier punto, p. main haciendo doble clic en la barra lateral a la izquierda del código, que crea un círculo azul (que se muestra en la imagen de arriba).

Ahora podemos depurar a través de:

  • Corre
  • Depurar (F11)

y como era de esperar nos quedamos en main :

La línea azul claro sobre (void)argv; indica que esta es la línea actual que se ejecuta bajo el depurador.

A partir de ahí, solo es cuestión de aprender la interfaz de depuración, por ejemplo:

  • accesos directos como F6 para saltar, ahora visibles desde debajo de "Ejecutar" (solo visible una vez que comienza la depuración)
  • ver valores de variables en "Variables" a la derecha
  • detener ejecuciones con Ejecutar> Terminar (Ctrl + F2)
  • pasar argumentos al programa:argumentos de la línea de comandos de Eclipse

A continuación, puede volver a la vista de código normal (sin depuración) con Ctrl + F8 una vez que haya terminado de depurar:¿Cómo volver a cambiar la perspectiva después de finalizar el proceso de depuración en Eclipse?

Probado en Eclipse 2020-03 (4.15.0).


Linux
  1. Cómo uso Ansible y Anacron para la automatización

  2. Cómo usar rsync avanzado para grandes copias de seguridad de Linux

  3. Cómo usar systemd-nspawn para la recuperación del sistema Linux

  4. ¿Cómo usar Lightdm para sesiones definidas por el usuario?

  5. ¿Cómo compruebo mi versión del compilador gcc C++ para mi Eclipse?

Cómo comprobar los puertos de escucha en Linux (Puertos en uso)

Cómo usar Avidemux para la edición de video

Cómo ejecutar un comando durante un tiempo específico en Linux

Cómo compilar y ejecutar programas C, C++ en Linux

Cómo ejecutar programas C/C++ en Linux [Terminal y Eclipse]

Cómo usar IPTables en lugar de firewalld para Fedora 30-31-32