12 votes

Où puis-je trouver des fichiers core dump, et comment puis-je visualiser et analyser le backtrace (trace de pile) dans l'un d'entre eux ?

Lorsque j'exécute mon programme C sur Ubuntu 20.04, j'obtiens cette erreur d'exécution :

Segmentation fault (core dumped)

J'ai vraiment besoin de trouver et de visionner le core mais je ne le trouve nulle part. Où se trouve-t-il, et comment puis-je voir la trace arrière qu'il contient ?

1voto

guyr Points 31

Trouvé par recherche. J'utilise Ubuntu Mate 21.10. Pour ceux qui utilisent les derniers modèles d'Ubuntu, apport générera des dumps dans /var/lib/apport/coredump .

Si vous ne trouvez pas votre fichier core dump, cat /var/log/apport.log . Lorsque j'ai fait cela, j'ai vu :

executable does not belong to a package, ignoring
called for pid 5545, signal 11, core limit 0, dump mode 1

Notez que la limite du noyau est de 0, ce qui signifie qu'aucun fichier de vidage du noyau ne sera généré. J'ai donc exécuté la commande présentée dans ce billet ( ulimit -c unlimited ), et cette fois-ci apport.log a montré ceci :

writing core dump to core._my_prog.1000.e43b2f33-4708-438c-a7d7-05062f381382.5650.795448 (limit: -1)

Je ne l'ai pas trouvé dans le répertoire courant ou dans le répertoire contenant l'exécutable, j'ai donc effectué une recherche sur l'ensemble du système et je l'ai trouvé dans /var/lib/apport/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