comment puis-je mentionner à gdb dans unix pour rechercher des fichiers source dans un seul répertoire récursivement par exemple s'il y a quelques blocs de construction différents dans un module. a est le répertoire parent de b, c, d où b, c, d sont des répertoires enfants. et les fichiers sources sont distribués en b, c, b. Je dois juste mentionner à gdb que tous les fichiers source se trouvent dans un (répertoire parent). que gdb utilisera comme référence et recherchera récursivement les fichiers source lors du débogage d'un programme.gdb recherche de répertoires source
17
A
Répondre
16
Ou vous pouvez faire quelque chose comme ça, pour le programme de débogage prog
avec la source dans le répertoire srcdir
:
gdb `find srcdir -type d -printf '-d %p '` prog
Je pense qu'il est une réponse plus directe à votre question. Aussi utile si votre exécutable ne contient pas les répertoires de compilation et/ou si vous n'avez pas la version 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
Ce dont vous avez besoin est la commande set substitute-path.
(gdb) set substitute-path /usr/src/include /mnt/include
Disponible uniquement dans les versions récentes (6.6+) de gdb.
Questions connexes
- 1. TCL: Recherche récursive des sous-répertoires pour la source de tous les fichiers .tcl
- 2. Recherche de fichiers et de répertoires sur le site Web
- 3. comment obtenir des informations de fichier/répertoires de recherche
- 4. Recherche de répertoires correspondants à l'aide d'une liste d'expressions régulières
- 5. gcc/gdb: Comment intégrer le chemin absolu au fichier source dans les informations de débogage?
- 6. à la recherche d 'outils open source
- 7. Recherche d'une API d'aide Java open-source
- 8. Passage à l'assembly dans gdb
- 9. GMFBridge Problème lors de la recherche de graphique source
- 10. Linq To SQL DAL et source de données de recherche
- 11. Problème lors de la recherche de la source de mon erreur de segmentation
- 12. Recherche d'un Gridview avec une source de données DataTable
- 13. Recherche d'index multiples à partir de la chaîne source
- 14. . Moteur de recherche open source basé sur .Net?
- 15. Points d'arrêt GDB
- 16. gdb breakpoint sur pthread_create
- 17. Débogage avec Eclipse CDT et GDB
- 18. Comment spécifier les répertoires FTP source et de destination dans une tâche de script?
- 19. Définition de modules dans GWT avec des répertoires source non-par défaut
- 20. structures de répertoires C++
- 21. fonction examen valeur de retour dans GDB
- 22. gdb n'atteint pas de points d'arrêt
- 23. Recherche d'objets SQL manquants dans le contrôle source
- 24. gdb dans emacs sur Windows
- 25. Existe-t-il une bibliothèque de recherche Web Open Source qui n'utilise pas de fichier d'index de recherche?
- 26. GNU make avec de nombreux répertoires cibles
- 27. Comment éviter d'entrer les fichiers source de la bibliothèque lors du débogage dans Qt Creator avec gdb?
- 28. Comment générer un Makefile avec la source dans les sous-répertoires en utilisant seulement un makefile
- 29. Traverser une arborescence de répertoires
- 30. Affichage de la valeur de recherche basée sur la clé étrangère dans la source de liaison
"Définir les répertoires" peut également être utilisé dans les dernières versions. – ernesto
Il fonctionne également sous Windows comme 'set substte-path/home/moi/projet c: \\ Users \\ me \\ project'. –
Si vous chargez le fichier core sur une autre machine, il est possible que votre chemin source soit différent. Vous ne pouvez pas remplacer dans le cas de '$ gdb program corefile' ou' $ gdb -c corefile program'. Dans ce cas, vous devez lancer '$ gdb program' et ensuite faire une substitution' (gdb) set substitut-chemin/home/moi/projet/mon/nouveau/chemin' et charger un corefile '(gdb) core-file corefile'. –