Lorsque j'exécute un programme sur lequel je travaille, il échoue avec le message suivant:
...
Aborted (core dumped)
Cependant, aucun vidage de mémoire n'est créé. Les vidages de mémoire ont été écrits précédemment, et je ne me souviens pas avoir changé quoi que ce soit à ce sujet.
Quand je cours ulimit -a
je reviens,
$ ulimit -a
core file size (blocks, -c) unlimited
...
Autres points,
- J'ai vérifié que mon utilisateur peut créer des fichiers dans le répertoire courant.
- J'ai lu
/proc/sys/fs/suid_dumpable
. Actuellement, il est réglé sur 0 sur ma machine. J'ai essayé de le changer en 1 ou 2 mais aucune différence. - J'ai également essayé d'exécuter le programme en tant que root, mais cela n'a pas fait de différence non plus.
Malheureusement, je ne me souviens pas quand j'ai pu produire le dernier core-dump réussi.
sudo systemd-coredumpctl
affiche tous les vidages mémoire manquants. Votre solution a fonctionné mais uniquement après un redémarrage du système.systemd
« ssystemd-sysctl.service
seulement fonctionnesysctl
au point approprié de démarrage et poignées réexécution la main sur les changements. Et n'allez pas créer / écraser des fichiers de configuration sans enquêter sur leur fonction et leur contenu.50-coredump.conf
, afin d'appliquer les paramètres dans le démarrage actuel, j'ai dû exécuter modifier le paramètre sysctl manuellement, voir stackoverflow.com/q/2065912/427545 .sysctl -w kernel.core_pattern="core"
Vous souhaiterez peut-être utiliser la
coredumpctl
commande pour récupérer votre vidage de mémoire ou exécuter gdb dessus. C'est la méthode «approuvée par le système» pour y faire face. : - /Dans un certain sens, c'est plutôt bien que systemd capture toutes ces choses car il les effacera automatiquement après un certain temps, et cela facilite également le téléchargement de vidages sur incident pour les rapports de bogues.
Mais, ce fut un changement choquant avec peu de notification ou d'indices pour les personnes qui savaient comment les coredumps fonctionnaient avant que systemd ne soit impliqué. Même la suppression d'un fichier nommé 'core.pid.txt' avec des instructions pour utiliser coredumpctl pour obtenir votre coredump ainsi que la façon de désactiver la création des
.txt
fichiers aurait été d'une grande aide, même si celles-ci auraient également jonché le système de fichiers pendant un certain temps.la source