在gdb中保存核心文件

Mac*_*tka 81 gdb core-file

是否可以使用gdb 保存/转储核心文件?有时我想保存文件以便以后分析.

nos*_*nos 129

在gdb中发出'generate-core-file'命令.

(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
Run Code Online (Sandbox Code Playgroud)

  • 它将保存在GDB的当前工作目录中,可以通过`pwd`命令查看.如果你需要改变它,你可以使用`cd`,就像在shell中一样. (3认同)
  • @Jonathon_Reinhart将核心文件路径作为`generate-core-file`第一个参数传递,如果你想将它保存在某个地方 (3认同)

Mei*_*new 16

您也可以gcore <pid>用来生产核心.

  • 请查看此页面http://stackoverflow.com/help/privileges/comment:我什么时候不应评论?...."回答问题或提供现有答案的替代解决方案;" (7认同)
  • 看起来 `gcore` 仅在较新的 gdb 版本中受支持。旧的需要“generate-core-file”。 (2认同)