【发布时间】:2010-09-24 17:32:11
【问题描述】:
是否可以使用 gdb 保存/转储核心文件?有时我想保存文件以便以后分析。
【问题讨论】:
是否可以使用 gdb 保存/转储核心文件?有时我想保存文件以便以后分析。
【问题讨论】:
在 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
【讨论】:
pwd命令查看。如果您需要更改它,可以使用 cd 进行更改,就像在 shell 中一样。
generate-core-file 第一个参数传递,如果您想将其保存在某个位置
您也可以使用gcore <pid> 来生成内核。
【讨论】:
gcore 仅在较新的 gdb 版本中受支持。旧的需要generate-core-file。
generate-core-file 的简称,两者都做同样的事情。