42 votes

Comment puis-je lire un fichier de crash à partir de /var/crash

Php-fpm a planté et a généré un fichier dans

/var/crash/_usr_sbin_php5-fpm.1002.crash

Il y a des informations dans ce fichier, mais ce que je recherche se trouve dans la section appelée CoreDump au format encodé en base64. Comment puis-je lire ce qui s'exécutait au moment du crash?

46voto

stamster Points 712

Si vous ne souhaitez pas installer plusieurs sous-dépendances pour l'outil apport-retrace, vous pouvez décompresser le format apport en fichiers séparés et n'utiliser que le vidage CoreDump avec gdb comme d'habitude.

  1. apport-unpack cheminDuRapportDeCrashGénéréParLeSystème.crash votreNouveauRépertoireDeDécompressionIci

  2. cd votreNouveauRépertoireDeDécompressionIci/

  3. gdb `cat CheminDeLExecutable` CoreDump (faites attention aux backticks ici!)

  4. bt (affiche la trace réelle)

    Remarque : apport-unpack peut parfois planter lors de l'opération de décompression (apport semble cassé de tous les côtés... xD), mais votre CoreDump et les autres fichiers seront là, ignorez-le et supprimez tous les fichiers .crash dans /var/crash après les avoir déplacés ailleurs pour permettre au système de générer de nouveaux rapports de crash provenant des mêmes applications.

16voto

saiarcot895 Points 10489

Il existe un outil appelé apport-retrace qui lit les fichiers .crash et vous permet soit de les remplir avec une trace de pile entièrement symbolique, soit d'exécuter une session gdb en utilisant le vidage de core. Pour démarrer une session gdb, exécutez apport-retrace -g CRASHFILE.crash. Notez que vous devez avoir les packages -dbg installés pour obtenir une bonne trace de pile.

Cela étant dit (je ne suis pas un expert en PHP), cela pourrait en fait être quelque chose que vous avez écrit dans l'un de vos fichiers qui cause le crash.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X