Advertisement

利用gdb调试核心抛出文件解决段落故障

阅读量:

如何使用gdb调试coredump文件

  • 1. 核心数据文件的生成
    • 1.1 核心数据文件的定义
      • 1.2 如何创建调试文件?
      • 1.3 程序崩溃时是否会产生核心数据文件?
      • 1.4 核心数据文件存储在哪里?

以上输出仅包含改写后的内容

1. 产生coredump文件

1.1 什么是coredump文件?

coredump 文件又称之为 核心转储 文件;

它是进程运行时,突然崩溃的一瞬间,进程在内存中的一个快照。

其中包含了运行堆栈和寄存器信息等。

1.2 如何产生debug文件?

启用调试模式编译时,在崩溃发生时会产生coredump文件。因为编译时加上了 -g 指令。

1.3 程序崩溃时,一定会产生coredump文件吗?

在终端运行命令 ulimit -a 是获取核心文件大小的一种方式。当core file size字段显示数值为0时,则表明无法生成核心转储文件。此外,在以下两种情况下也无法生成核心转储文件:一是core dump文件占用的空间超过设定的core file size;二是该文件所需的存储空间超过了可用磁盘空闲空间。

如果在终端上发现core file size等于零,则可以通过执行ulimit -c unlimited命令将其设置为

全部评论 (0)

还没有任何评论哟~