web-dev-qa-db-fra.com

Enregistrement du fichier principal dans gdb

Est-il possible de enregistrer/vider le fichier principal en utilisant gdb? Parfois, je veux enregistrer un fichier pour l'analyser plus tard.

80
Maciej Piechotka

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
127
nos

Vous pouvez aussi utiliser gcore <pid> pour produire des noyaux.

16
Meinew