19/10/2007 @ 16:38:15: zion: Créer un dump volontairement d'un process sous Linux
15:38:22: zion: que pour ça je te rassure
16:24:29: zion: y a moyen de faire un dump de la mémoire d'un process à la main?
16:24:38: zion: linux of course, sous Windows je sais le faire
16:31:05: philfr: zion> kill -SIGABRT
16:32:51: zion: et si je veux pas le killer?
16:33:03: zion: sous win32 je peux faire un dump sans le killer, le process est important quoi
16:34:46: zion: super, ca l'a killé mais j'ai pas de dump
Je relance donc le problème, j'ai un process et j'aimerais avoir un dump complet de sa mémoire sans pour autant le tuer (c'est mieux si ca le tue pas).
Tenté le kill -SIGABRT pid ça a tout simplement killé le process sans m'en faire un dump
Any other idea?
19/10/2007 @ 16:40:32: zion: Créer un dump volontairement d'un process sous Linux
16:39:13: philfr: zion> ulimit -c d'abord
# ulimit -c
0
19/10/2007 @ 16:42:11: philfr: Créer un dump volontairement d'un process sous Linux
Pour avoir le core dump, il faut lancer le process avec un ulimit comme il faut.
ulimit -c <max core size> dans le shell, puis tu démarres ton process... Puis tu le killes.
Sinon, qu'est ce que tu vas faire avec ton core ? Parce que tu peux aussi bien démarrer ton process sous debugger.
19/10/2007 @ 16:43:31: zion: Créer un dump volontairement d'un process sous Linux
C'est un process qui est pas écrit en C++ ni compilé (ou compilable) sur la machine en question.
J'ai besoin du memory dump pour analyser le contenu tout simplement
Le processus est simple, c'est kelare
19/10/2007 @ 16:45:52: zion: Créer un dump volontairement d'un process sous Linux
Bon j'ai fait ton
ulimit -c 512000 (512mb?)
j'ai fait un kill -SIGABRT
DMC, toujours pas de dump file
19/10/2007 @ 16:46:40: philfr: Créer un dump volontairement d'un process sous Linux
Tu as lancé ton process depuis le shell où tu as fait le ulimit ? Hmmm ?
Allez, recommence...
19/10/2007 @ 16:50:15: philfr: Créer un dump volontairement d'un process sous Linux
Sinon, j'ai trouvé mieux: tu fais gcore <pid>, et voilà. Le process tourne toujours, mais tu as son core file.
gcore fait partie de gdb.
19/10/2007 @ 16:51:41: zion: Créer un dump volontairement d'un process sous Linux
aaaaaah gcore \o/
je check si il existe chez moi
19/10/2007 @ 16:52:41: zion: Créer un dump volontairement d'un process sous Linux
J'ai pas gcore dans ma distro
Pfffff
19/10/2007 @ 16:53:09: cauet: Créer un dump volontairement d'un process sous Linux
Et on peux voir à quoi ressemble un dump de Kelare?
19/10/2007 @ 16:57:19: philfr: Créer un dump volontairement d'un process sous Linux
J'ai pas gcore dans ma distro
Pfffff
T'as installé gdb ?
19/10/2007 @ 16:58:39: zion: Créer un dump volontairement d'un process sous Linux
gdb
GNU gdb 6.3-5mdk (Mandriva Linux release 2006.0)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
oui oui
19/10/2007 @ 17:03:56: philfr: Créer un dump volontairement d'un process sous Linux
Et le ulimit où il faut ?
Ou le process en debug ?
19/10/2007 @ 17:08:25: zion: Créer un dump volontairement d'un process sous Linux
Tu peux m'aiguiller pour le ulimit ou le gdb?
Jamais utilisé ni l'un ni l'autre et
man ulimit
no entry
19/10/2007 @ 17:12:29: zion: Créer un dump volontairement d'un process sous Linux
/kelare/ulimit -c unlimited
/kelare/kill -SIGABRT 16399
et j'ai aucun fichier
19/10/2007 @ 17:15:23: philfr: Créer un dump volontairement d'un process sous Linux
/kelare/ulimit -c unlimited
/kelare/kill -SIGABRT 16399
et j'ai aucun fichier
Tu as lancé ton process depuis le shell où tu as fait le ulimit ? Hmmm ?
Allez, recommence...
C'est pas le kill que tu dois faire depuis ce shell, c'est le démarrage du process.
19/10/2007 @ 17:16:30: zion: Créer un dump volontairement d'un process sous Linux
Ah
19/10/2007 @ 17:18:09: zion: Créer un dump volontairement d'un process sous Linux
Aaaaaaaaaah, un core \o/
19/10/2007 @ 17:19:37: zion: Créer un dump volontairement d'un process sous Linux
philfr for president toussa
Merci
19/10/2007 @ 17:23:25: philfr: Créer un dump volontairement d'un process sous Linux
Sur debian, c'est dans manpages-dev, mais c'est un appel de librairie C.
La commande ulimit est un builtin de bash, donc
$ help ulimit
est ton ami.