Menyimpan file inti di gdb


90

Apakah mungkin untuk menyimpan / membuang file inti menggunakan gdb? Terkadang saya ingin menyimpan file untuk menganalisisnya nanti.

Jawaban:


140

Berikan perintah 'generate-core-file' di 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
Ini akan disimpan di direktori kerja GDB saat ini, yang dapat dilihat melalui pwdperintah. Jika Anda perlu mengubahnya, Anda dapat melakukannya dengan cd, seperti di shell.
Jonathon Reinhart

3
@Jonathon_Reinhart berikan jalur file inti sebagai generate-core-fileargumen pertama jika Anda ingin menyimpannya di tempat tertentu
SergA

19

Anda juga dapat menggunakan gcore <pid>untuk menghasilkan inti.


ini harus di bagian komentar
V-rund Puro-hit

8
Silakan lihat halaman ini stackoverflow.com/help/privileges/comment : Kapan saya tidak boleh berkomentar? .... "Menjawab pertanyaan atau memberikan solusi alternatif untuk jawaban yang ada;"
Meinew

1
Sepertinya gcorehanya didukung di versi gdb yang lebih baru. Yang lama membutuhkan generate-core-file.
scai

Tampaknya ini adalah nama pendek untuk generate-core-file, keduanya melakukan hal yang sama.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.