Quelles sont toutes les choses que je devrai vérifier lors de l'analyse du fichier core dump? S'il vous plaît dites-moi à partir de zéro.
Vous avez juste besoin d'un fichier binaire (avec les symboles de débogage inclus) identique à celui qui a généré le noyau. Ensuite, vous pouvez exécuter gdb path/to/the/binary path/to/the/core
pour le déboguer.
Lors du démarrage, vous pouvez utiliser bt
(pour la trace) pour obtenir une trace de la pile à partir du moment de l’incident. Dans la trace, chaque appel de fonction se voit attribuer un numéro. Vous pouvez utiliser frame number
(en remplaçant nombre avec le numéro correspondant dans la trace de la pile) pour sélectionner un cadre de pile particulier. Vous pouvez ensuite utiliser list
pour voir le code autour de cette fonction et info locals
pour voir les variables locales. Vous pouvez également utiliser print name_of_variable
(en remplaçant "nom_de_variable" par un nom de variable) pour afficher sa valeur.
En tapant help
dans GDB, vous obtiendrez une invite qui vous permettra de voir des commandes supplémentaires.
Quelques aides génériques:
gdb démarre GDB, sans les fichiers de débogage
programme gdb commence le programme de débogage
noyau du programme gdb noyau de débogage produit par programme
gdb --help Décrire les options de la ligne de commande
1- Recherchez d’abord le répertoire dans lequel le fichier corefile est généré.
2- Ensuite, utilisez la commande _ls -ltr
_ dans le répertoire pour trouver le fichier core généré le plus récemment.
3- Pour charger l'utilisation du corefile
chemin binaire gdb de corefile
Cela chargera le corefile.
4- Ensuite, vous pouvez obtenir les informations en utilisant la commande bt
. Pour une trace détaillée, utilisez _bt full
_.
5- Pour imprimer les variables, utilisez _print variable-name
_ ou _p variable-name
_
6- Pour obtenir de l'aide sur GDB, utilisez l'option help
ou utilisez apropos search-topic
7- Utilisez _frame frame-number
_ pour aller au numéro d’image souhaité.
8- Utilisez les commandes _up n
_ et _down n
_ pour sélectionner les images n images plus haut et les images n images plus basses.
9- Pour arrêter GDB, utilisez quit
ou q
.