est-il possible de générer un vidage de base sans tuer le processus? Si oui, quelle est la commande / signal de le faire? P>
merci, Jim P>
3 Réponses :
Voir la commande 'gcore', une partie de gdb. p>
Cela semble prometteur. J'ai un fichier de base de cette façon. Cependant, le processus que j'analyse se termine dès que je détache GDB. Il se termine également immédiatement si je la rangeais. Savez-vous un moyen de l'empêcher de détecter qu'il est attaché par GDB / Strace? Merci encore!
Vous pouvez exécuter GCORE contre le processus, puis le GDB contre le noyau déversé. Comme: "GCORE 12345; GDB / PATH / CORE BINAIRE.12345"
J'ai eu le meilleur succès avec la fixation de GDB en mode batch au programme en cours d'exécution, obtenez une backtrage, puis détachez.
gdb --batch --quiet -ex "set pagination off" -ex "thread apply all bt" -ex "detach" -ex "quit" pid pid_of_process
mais la backtrace n'est pas un Coredump
Une méthode pour générer un CoreDump directement à partir du programme sans Cela n'a aucun sens que si vous développez. Le principe est du programme de fourchettes et d'augmenter gdb code> est décrit ici:
https://unix.stackexchange.com/questions/11185/dump- processus-noyau-sans-tuer-the-processus p>
sigabrt code> de l'enfant. P>