Est-il possible de sauvegarder / vider le fichier core en utilisant gdb? Parfois, je veux enregistrer le fichier pour l'analyser plus tard.
Est-il possible de sauvegarder / vider le fichier core en utilisant gdb? Parfois, je veux enregistrer le fichier pour l'analyser plus tard.
Réponses:
Exécutez la commande 'generate-core-file' dans gdb.
(gdb) help generate-core-file
Save a core file with the current state of the debugged process.
Argument is optional filename. Default filename is 'core.<process_id>'.
(gdb) break main
Breakpoint 1 at 0x400e0b: file utils/udec.c, line 36.
(gdb) r
Starting program: /home/nos/build/utils/udec
Breakpoint 1, main (argc=1, argv=0x7fffffffe9a8) at utils/udec.c:36
36 int fileargc = 1;
(gdb) generate-core-file
Saved corefile core.7336
generate-core-file
premier argument si vous voulez le sauvegarder à un certain endroit
Vous pouvez également utiliser gcore <pid>
pour produire des noyaux.
gcore
soit uniquement pris en charge dans les nouvelles versions de gdb. Les anciens exigent generate-core-file
.
generate-core-file
, les deux faisant la même chose.
pwd
commande. Si vous avez besoin de le changer, vous pouvez le faire aveccd
, comme dans un shell.