37 votes

Points d'arrêt GDB

J'ai une liste de points d'arrêt que je veux ajouter chaque fois que je débogue un programme particulier.

Existe-t-il un moyen de placer toutes les informations relatives aux points d'arrêt dans un fichier et de les utiliser au début de chaque session de débogage ? En d'autres termes, puis-je fournir un fichier script avec des informations sur les points d'arrêt à GDB avant de donner la commande 'run' ?

32voto

Mark Renouf Points 13128

De man gdb(1) :

  -x file
           Execute GDB commands from file file.

Vous pourriez alors placer vos points d'arrêt dans un fichier :

break [file:]function
break [file:]function
...

30voto

Sean Bright Points 39480

Vous pouvez placer toutes les commandes que vous voulez dans un fichier de type .gdbinit qui se trouve dans le même répertoire que l'exécutable que vous déboguez.

Quelque chose comme :

b somefile.c:128
b otherfile.c:33

Cela devrait fonctionner parfaitement.

Oui, le -x vous permettra d'exécuter des fichiers arbitraires au démarrage de GDB, mais le maintien d'un argument de ligne de commande de type .gdbinit pour chaque projet signifie que le fichier est exécuté automatiquement (sans qu'il soit nécessaire de spécifier un nom de fichier). De plus, vous pouvez facilement ajouter le fichier .gdbinit à votre contrôle de source, ce qui signifie que tous les membres de votre équipe peuvent utiliser les mêmes outils de débogage.

13voto

Mitch Haile Points 5059

Outre l'utilisation d'un fichier externe, vous pouvez également garder GDB ouvert : Si le binaire sous GDB change, il rechargera le binaire et les bibliothèques sans perdre vos points d'arrêt lors de la prochaine exécution.

10voto

aculich Points 4563

El sauvegarder les points d'arrêt est nouvelle à partir de GDB 7.2 (2011-08-23). Après avoir enregistré les points d'arrêt dans un fichier, vous pouvez les lire dans une session GDB ultérieure en utilisant la commande source puis, la prochaine fois que vous lancerez GDB, vous pourrez utiliser la commande -x <filename> option.

save breakpoints <filename>
  Save all current breakpoint definitions to a file suitable for use
  in a later debugging session.  To read the saved breakpoint
  definitions, use the `source' command.

3voto

Johan Points 6127

Ou utiliser :

gdb --command=commands.gdb ./a.out

donde commands.gdb est un fichier texte avec vos points d'arrêt.

--command est probablement la même chose que -x

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X