2 votes

Ouvrir un dump linux-crashdump avec un crash ?

J'ai donc essayé de déboguer un étrange crash intermittent du noyau pour un serveur fonctionnant sous Ubuntu-Server 16.04, qui m'a laissé perplexe pendant des lustres, et j'ai donc installé et configuré linux-crashdump à la suite de la Recette du crash dump du wiki Ubuntu .

Après avoir attendu que le problème revienne sur le tapis, linux-crashdump a fait son travail et a généré un fichier d'erreur, mais maintenant je ne sais pas comment l'utiliser !

Le guide Ubuntu propose deux méthodes pour les visualiser, soit en utilisant crash o apport-retrace mais aucune de ces méthodes ne fonctionne comme décrit.

apport-retrace revient simplement :

ERROR: report file does not contain the required fields

Entre-temps, pour crash J'ai téléchargé l'image appropriée avec l'info de débogage en utilisant apt-get install linux-image-$(uname -r)-dbgsym comme recommandé, avant d'exécuter la commande suivante :

crash /usr/lib/debug/boot/vmlinux-4.4.0-93-generic /var/crash/linux-image-4.4.0-93-generic-201709131146.crash

Cependant, cela donne lieu à une erreur de :

crash: linux-image-4.4.0-93-generic-201709131146.crash: not a supported file format

Quelle est la manière correcte d'afficher linux-crashdump les décharges maintenant ? Est-ce que je manque des étapes qui ne sont pas dans le guide ?

1voto

Haravikk Points 233

J'ai donc trouvé la solution ; il semble que la partie principale de la décharge de l'accident ne se trouve pas dans le dossier de l'utilisateur. .crash mais se trouve dans un dossier.

Le contenu pertinent de mon /var/crash ressemble donc à ceci :

/var/crash/
    201709131146/
        dmesg.201709131146
        dump.201709131146
    linux-image-4.4.0-93-generic-201709131146.crash

Donc ce que j'avais besoin d'exécuter était :

crash /usr/lib/debug/boot/vmlinux-4.4.0-93-generic /var/crash/201709131146/dump.201709131146

Cela m'a permis (finalement) d'obtenir une trace de pile utile et d'autres détails sur ce qui a mal tourné.

0voto

Tux_DEV_NULL Points 1083

Vous devez utiliser apport-unpack. Puis gdb et backtrace. Il existe de bons exemples en ligne sur la façon d'utiliser apport-unpack.

0 votes

J'ai peur d'avoir besoin d'un peu plus que cela ; je peux utiliser apport-unpack pour étendre le fichier .crash en fichiers séparés mais cela ne résout aucun des problèmes de les charger ensuite d'une manière ou d'une autre pour voir ce qui a mal tourné. Tous les exemples que j'ai trouvés jusqu'à présent concernent le débogage de crashs d'applications, pas de crashs de noyaux.

0 votes

Quand vous déballez, il devrait y avoir un fichier appelé CoreDump. Ensuite, lancez l'utilitaire de crash linux. Par exemple crash /usr/lib/debug/boot/vmlinux-3.x.0-24 /var/crash/CoreDump .

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