Salvataggio del file core in gdb


90

È possibile salvare / eseguire il dump del file core utilizzando gdb? A volte voglio salvare il file per analizzarlo in seguito.

Risposte:


140

Esegui il comando "generate-core-file" in 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

4
Verrà salvato nella directory di lavoro corrente di GDB, che può essere visualizzata tramite il pwdcomando. Se hai bisogno di cambiarlo, puoi farlo con cd, proprio come in una shell.
Jonathon Reinhart

3
@Jonathon_Reinhart passa il percorso del file core come generate-core-fileprimo argomento se vuoi salvarlo in un determinato posto
SergA

19

Puoi anche usare gcore <pid>per produrre core.


questo dovrebbe essere nella parte dei commenti
V-rund Puro-hit

8
Dai un'occhiata a questa pagina stackoverflow.com/help/privileges/comment : Quando non dovrei commentare? .... "Rispondere a una domanda o fornire una soluzione alternativa a una risposta esistente;"
Meinew

1
Sembra che gcoresia supportato solo nelle versioni più recenti di gdb. Quelli vecchi richiedono generate-core-file.
scai

Questo sembra essere un nome breve per generate-core-file, entrambi fanno la stessa cosa.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.