Coredump.gz est la mémoire (compressée) accessible par le programme qui s'est écrasé. Il s'agit d'un fichier binaire. Les coredumps sont un trésor, avec toutes sortes de données privées à exploiter.
Les coredumps peuvent être visualisés en exécutant 'gdb':
gdb --core=mycoredump
Bien sûr, vous aurez toujours besoin des packages de débogage associés à ce noyau.
Vous pouvez alors générer une trace de pile en:
(gdb) bt
pour générer une trace de pile du thread actuel - sans résolution de paramètre -, ou
(gdb) thread apply all bt full
pour générer une trace de pile de tous les threads dans le coredump, avec la résolution des paramètres.
stacktrace et full stacktraces montrent le flux de contrôle dans un programme. Pour Python, le haut de la trace de pile affiche l'appel le plus ancien, le plus récent en bas; pour à peu près tout le reste, le haut est l'appel le plus récent et le bas le plus ancien.
Une trace de pile complète affichera non seulement le flux, mais aussi les valeurs des paramètres. C'est là que nous trouvons généralement des données privées - par exemple, disons que vous voyez une fonction appelée "validatePassword" avec un paramètre appelé "Password" et une valeur de "MySecretPassword" ...
Les traces de pile ne sont généralement utiles que si les packages de débogage sont installés (afin que les cadres de pile puissent être résolus en quelque chose que nous pouvons facilement lire). L'analyse d'une trace de pile nécessitera que l'on ait les sources qui ont été utilisées pour construire cette instance de programme spécifique.