web-dev-qa-db-fra.com

Où Ubuntu 14.04 supprime-t-il les fichiers core?

J'ai activé une taille de fichier core illimitée avec ulimit:

ulimit -a
core file size          (blocks, -c) unlimited
...

Je pense avoir déclenché un vidage de la mémoire mais je n'arrive pas à localiser le fichier de base dans ma maison, var/... etc ...

Savez-vous où Ubuntu configure l'emplacement de la sauvegarde?

20
jcalfee314

Je pense que cela concerne davantage le noyau Linux qu’un problème spécifique d’Ubuntu. Check-out

cat /proc/sys/kernel/core_pattern

Consultez la page de manuel du fichier de base

7
Rich Homolka

Par défaut, le noyau Ubuntu est configuré pour utiliser la méthode répart pour journaliser les coredumps. Vous pouvez remplacer ceci en écrasant /proc/sys/kernel/core_pattern, consultez la section "Dénomination des fichiers de vidage principaux" dans man core pour plus de détails. Par exemple:

echo '/tmp/core.%e.%p.%t' | Sudo tee /proc/sys/kernel/core_pattern

Apport écrit les core dumps dans /var/crash/_path_to_program.userid.crash, MAIS il ne le fera que pour les applications installées à partir des principaux référentiels d'ubuntu.

Plus d'infos sur apport: https://wiki.ubuntu.com/Apport

31
maccam94

Sur Ubuntu 16.04.3 LTS, mon core dump était situé à:

/var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000

Donc, pour l'exécuter dans gdb, vous pouvez exécuter:

apt install gdb gdb /path/to/your/binary/application-name /var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000

1
Homer6