#1 Le 06/10/2010, à 19:45
- ehmicky
[Résolu]Créer un dump core file
Salut à tous,
Normalement des signaux comme SIGABRT ou SIGQUIT sont sensés créer (dump) un fichier "core" dans le répertoire courant représentant l'état du programme lors de l'arrêt.
Cependant, rien à faire, je ne réussis pas à créer un tel fichier, que ce soit en C avec un raise() ou autre, ou en faisant un CTRL-\ (SIGQUIT) après avoir lancé une commande Unix.
J'ai regardé dans la man page core(5), il y a des restrictions à la création d'un dump file, au niveau par exemple des ressources du système ou des droits d'accès, mais j'ai beau tout mettre en chmod 777 :
# ls -ld
drwxrwxrwx 5 root plugdev 4096 2010-10-06 17:25 .
# sleep 10
^\Quit
# ls -a
. ..
C'est la même chose si je fais un raise(SIGQUIT) (mais c'est pas du Bash, c'est pour ça que j'ai mis ça)
Quelqu'un saurait-til d'où ça vient ?
Merci !
Dernière modification par ehmicky (Le 06/10/2010, à 20:49)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#2 Le 06/10/2010, à 20:00
- Peck
Re : [Résolu]Créer un dump core file
La création de core dump est réglé par la commande ulimit.
Le détail est dans man bash, en pratique :
ulimit -c xxxxx
Où xxxx est la taille maximale autorisée par un core.
Hors ligne
#3 Le 06/10/2010, à 20:48
- ehmicky
Re : [Résolu]Créer un dump core file
Ca marche !
Avec ulimit -c, j'ai vu que c'est à 0 par défaut en fait, donc pas de dump files !
Par contre, je comprends pas pourquoi :
struct rlimit rlim;
getrlimit(RLIMIT_CORE, &rlim);
printf("Soft limit : %ld\nHard limit : %ld\n", rlim.rlim_cur, rlim.rlim_max);
Me donne 4Ko pour les deux, alors que ulimit -c me donne 0... Je pensais qu'ulimit était juste un wrapper au-dessus de setrlimit() et getrlimit(), mais vu que c'est un builtin, c'est peut-être plus compliqué que ça...
Mais bon l'important c'est que ça marche, merci !
Dernière modification par ehmicky (Le 06/10/2010, à 20:51)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne