在gdb中保存核心文件

在gdb中保存核心文件,gdb,core-file,Gdb,Core File,是否可以使用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 Breakpo

是否可以使用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
(gdb)帮助生成核心文件
使用已调试进程的当前状态保存核心文件。
参数是可选的文件名。默认文件名为“核心”。
(gdb)主断路器
0x400e0b处的断点1:文件utils/udec.c,第36行。
(gdb)r
启动程序:/home/nos/build/utils/udec
utils/udec.c处的主断点1(argc=1,argv=0x7fffffe9a8):36
36 int fileargc=1;
(gdb)生成核心文件
保存的corefile core.7336

您也可以使用
gcore
来生产内核

它将保存在GDB的当前工作目录中,可通过
pwd
命令查看该目录。如果您需要更改,可以使用
cd
,就像在shell中一样。@Jonathon\u Reinhart将核心文件路径作为
生成核心文件
传递第一个参数,如果您想将其保存在某个位置,这应该在注释部分。请查看此页面:我什么时候不应该注释?。。。。“回答问题或提供现有答案的替代解决方案;“看起来,
gcore
仅在较新的gdb版本中受支持。旧版本需要
生成核心文件
。这似乎是
生成核心文件
的简称,两者的作用相同。