Gdb

De Wiki de la communauté Mandriva.

Gdb est le debugger le plus connu du monde du logiciel libre (tout comme gcc pour le compilateur C). Il est très utile pour obtenir des informations sur les crashs et est donc un outil de choix pour le rapporteur de bug régulier.

Sommaire

Qu'est ce que gdb ?

Les paquets debugs

gdb a besoin d'exécutables compilés d'une certaine manière qui permettent de tracer les appels mémoires. Ces exécutables se trouvent dans les paquets debug. Pour installer ces paquets, se reporter à la page Paquets_debug.

Obtenir une backtrace

Une backtrace est la liste de fonctions qui ont été appelées au moment où le crash a eu lieu. Cela permet de savoir à quel endroit du code le programme a crashé.

$ gdb programme_a_debugger
(gdb) run
... faire crasher ...
(gdb) bt full
(gdb) thread apply all bt full


Cas particulier

Il existe quelques cas particulier où l'on ne peut pas lancer gdb mon_programme.

Thunderbird

Thunderbird fait parti de ces exceptions. En effet, sans rentrer dans les détails, il passe par un script shell pour être lancé et gdb nécessite un executable.


  • Installer les paquets debug pour Thunderbird :

Pour afficher les paquets debug disponibles pour Thunderbird, tapez la commande suivante :

Image:Konsole.png
[utilisateur@ordi ~]$ urpmq -y thunderbird

Pour afficher les paquets Thunderbird installés sur votre machine :

Image:Konsole.png
[utilisateur@ordi ~]$ rpm -qa
  • Lancer thunderbird en mode debug :
Image:Konsole.png
[utilisateur@ordi ~]$ thunderbird --debug

et voilà, gdb démarre. Il ne vous reste plus qu'à effectuer votre backtrace comme d'habitude.

Sources à importer

Récupérée de « http://wiki.mandriva.com/fr/Gdb »
Autres langues