2009-12-15 16 views

Respuesta

21

comando gdb Puede utilizar

Current source file is a.c 
Compilation directory is /home/user/test 
Located in /home/user/test/a.c 
Contains 17 lines. 
Source language is c. 
Compiled with DWARF 2 debugging format. 
Includes preprocessor macro info. 
+0

¿dónde almacena el gdb la ubicación del código fuente? ¿Está en el ejecutable mismo? – suresh

+1

En el archivo ejecutable que se creó con la información de depuración. –

+0

Si GDB ya almacena la información en ejecutable, ¿por qué necesita la fuente de nuevo? – ernesto

1

Uso del BGF "Mostrar directorios" comando para ver la ruta de búsqueda de origen.

4

uso

(gdb) show directories 

si usted no sabe dónde esos directorios consiguen el sistema cheque en su .gdbinit si hay declaraciones como

directory /path/to/source 

ver también this other SO Thread about gdb

2

El binary probablemente esté compilado con "-g", es decir, depuración.

+1

Eso no significa que la fuente está compilada en el binario. –

+1

Pero significa que las referencias a la fuente original se mantienen. Lo intenté en mi sistema y funciona. – diciu

5

Esta información se mantiene en formato binario en DWARF2. Entonces, para ver la información DWARF2, puede usar la utilidad dwarfdump. La información necesaria se guarda en el campo DW_AT_comp_dir.

Cuestiones relacionadas