coredump分析

一、基本介绍

在程序崩溃时,通常只能得到一个segfault之类的提示信息。如果想定位崩溃原因,需要更详细的内容,如运行堆栈等。

启用core dump功能后,程序崩溃时,操作系统会生成一个core dump文件,使用gdb可以对它进行分析。

二、查看和启用core dump

在Linux下,执行 ulimit -c 命令,可以查看core dump的当前设置的core dump文件的最大大小,其中0表示关闭coredump,也就是不会生成core dump文件。

执行 ulimit -c时可以再传入一个参数,表示core dump文件的最大大小,特别的如果传递unlimited,如ulimit -c unlimited,表示不限制core dump文件的最大大小。这种方式只对当前shell起作用,退出shell后就会失效。

如果想永久启用,需要修改/etc/security/limits.conf文件,在末尾添加配置:

* soft core unlimited

配置成soft的方式的话,需要退出重登配置才会生效,配置成hard的方式则下一个创建的进程将直接使用该配置,此时直接启动程序即可。

其他配置参数
/proc/sys/kernel/core_pattern 定义了core文件名的生成格式
/proc/sys/kernel/core_uses_pid 如果这个文件的内容被配置成1,那么即使core_pattern中没有设置%p,最后生成的core dump文件名仍会加上进程ID
/proc/sys/kernel/core_pipe_limi

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值