cómo menciono a gdb en Unix para buscar archivos de código fuente dentro de un solo directorio recursivamente por ejemplo si hay bloques de construcción diferentes en un módulo. a es el directorio principal para b, c, d donde b, c, d son directorios secundarios. y los archivos fuente se distribuyen en b, c, b. solo tengo que mencionar a gdb que todos los archivos fuente se encuentran en un (directorio principal). que gdb usará como referencia y buscará los archivos fuente recursivamente mientras depura un programa.gdb buscando directorios de origen
17
A
Respuesta
16
O puede hacer algo como esto, para el programa de depuración prog
con fuente en el directorio srcdir
:
gdb `find srcdir -type d -printf '-d %p '` prog
creo que es una respuesta más directa a su pregunta. También es útil si su archivo ejecutable no contiene los directorios de compilación y/o no tiene la versión 6.6+ de gdb.
5
(gdb) help files
Specifying and examining files.
List of commands:
add-shared-symbol-files -- Load the symbols from shared objects in the dynamic linkers link map
add-symbol-file -- Load symbols from FILE
add-symbol-file-from-memory -- Load the symbols out of memory from a dynamically loaded object file
cd -- Set working directory to DIR for debugger and program being debugged
core-file -- Use FILE as core dump for examining memory and registers
directory -- Add directory DIR to beginning of search path for source files
edit -- Edit specified file or function
exec-file -- Use FILE as program for getting contents of pure memory
file -- Use FILE as program to be debugged
forward-search -- Search for regular expression (see regex(3)) from last line listed
generate-core-file -- Save a core file with the current state of the debugged process
(gdb) help directory
Add directory DIR to beginning of search path for source files.
Forget cached info on source file locations and line positions.
DIR can also be $cwd for the current working directory, or $cdir for the
directory in which the source file was compiled into object code.
With no argument, reset the search path to $cdir:$cwd, the default.
21
Lo que necesita para esto es el comando set substitute-path.
(gdb) set substitute-path /usr/src/include /mnt/include
Solo disponible en las versiones recientes (6.6+) de gdb, sin embargo.
Cuestiones relacionadas
- 1. depurador gdb múltiples archivos de origen
- 2. Buscando biblioteca java para sincronización de directorios
- 3. Directorios de origen en Visual Studio 2010
- 4. Emacs 23.1.1 con gdb - forzando ventanas de origen
- 5. Makefile con los archivos de origen en diferentes directorios
- 6. Maven estructura de directorios
- 7. Ruby: buscando una expresión regular a través de múltiples archivos en múltiples directorios
- 8. ¿Cómo oculto los directorios en Apache, específicamente el control de origen?
- 9. Directorios wiki de GitHub
- 10. Depurar qemu con gdb
- 11. GDB cheat sheet
- 12. gdb: programa de salida sin salir de gdb
- 13. gdb: multihilo
- 14. gdb - registro de subprocesos
- 15. Compilar directorios de fuentes múltiples con g ++
- 16. Buscando .NET BuildServer SaaS
- 17. Buscando byte []
- 18. significado y origen refresh_ce
- 19. Origen 'url' no está permitido por Access-Control-Allow-Origen
- 20. Buscando Literales de Cadenas
- 21. Puntos de corte de GDB
- 22. directorios de lista en una carpeta, ignoran sub directorios ANT
- 23. gdb no encuentra los archivos fuente compilados por clang ++
- 24. lista parcial de directorios
- 25. Reestructuración de directorios C++
- 26. de bash directorios hallazgo
- 27. Misma política de origen
- 28. Lucene.NET problema de origen
- 29. git historia de una línea de origen
- 30. ¿Monitorea el contenido de archivos/directorios?
"establecer directorios" también se puede utilizar en las últimas versiones. – ernesto
También funciona en Windows como 'establecer ruta-de-sustitución/inicio/me/proyecto c: \\ Usuarios \\ me \\ proyecto'. –
Si carga el archivo core en otra máquina, su ruta de origen puede ser diferente. No se puede sustituir en caso de '$ gdb program corefile' o' $ gdb -c corefile programme'. En este caso, debe ejecutar '$ gdb program' y luego hacer que la sustitución' (gdb) establezca sustitute-path/home/me/project/my/new/path' y cargue un corefile '(gdb) core-file corefile'. –