什么是coredump?
Coredump叫做核心转储,它是进程运行时在突然崩溃的那一刻的一个内存快照。操作系统在程序发生异常而异常在进程内部又没有被捕获的情况下,会把进程此刻内存、寄存器状态、运行堆栈等信息转储保存在一个文件里。
该文件也是二进制文件,可以使用gdb、elfdump、objdump或者windows下的windebug、solaris下的mdb进行打开分析里面的具体内容。
ulimit -c 可以设置core文件的大小,如果这个值为0.则不会产生core文件,这个值太小,则core文件也不会产生,因为core文件一般都比较大。
使用ulimit -c unlimited来设置无限大,则任意情况下都会产生core文件。
ulimit -a可以查看当前core文件限制。
1、设置core文件的名称和文件路径
默认生成路径:输入可执行文件运行命令的同一路径下
默认生成名字:默认命名为core。新的core文件会覆盖旧的core文件
a.设置pid作为文件扩展名
1:添加pid作为扩展名,生成的core文件名称为core.pid
0:不添加pid作为扩展名,生成的core文件名称为core
修改 /proc/sys/kernel/core_uses_pid 文件内容为: 1
修改文件命令: echo "1" > /proc/sys/kernel/core_uses_pid
或者
sysctl -w kernel.core_uses_pid=1 kernel.core_uses_pid = 1
如何写好简历项目,拿下高薪offer
c++项目实战课,完整项目实战内容,涵盖(基础架构,SPDK,内核,音视频,go云原生,Qt)的开发岗位
让你明白什么是专业。报名学习地址:
cpper面试自救指南xxetb.xet.tech/s/3Bux46
(39.9买不了吃亏,买不了上当,老板说了,学不明白包退!)
项目详情:登录可看!
【文章福利】