什么是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