coredump的介绍及产生的几种可能情况

coredump是程序异常退出时生成的文件,包含内存、寄存器等信息,用于定位错误。本文介绍了core文件的开启与关闭、命名规则,以及常见的导致程序core掉的原因,如内存越界、线程不安全函数和堆栈溢出等。
摘要由CSDN通过智能技术生成
什么是coredump

我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下会产生一个叫做core的文件。

通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆栈信息等,我们可以理解为是程序工作当前状态存储生成的一个文件,许多的程序出错的时候都会产生一个core文件,通过工具分析这个文件,我们可以定位到程序异常退出的时候对应的堆栈调用等信息,找出问题所在并进行及时解决。

开启或关闭core文件的生成

查看core文件的大小:

:ulimit -c
0

0表示当前限制的core文件的blocks为0,就是不允许产生core文件的意思。

修改core文件大小为:

ulimit -c 1024 
ulimit -c unlimited

1024个blocks,一般1block=512bytes。

unlimited是不限制的意思。

检查core文件的选项是否打开:

:ulimit -a | grep
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值