1、先用ulimit -c
,如果看到0,说明没有开core dump。
所以我们输入ulimit -c unlimited
,打开core dump。
再次用ulimit -c
,看到unlimited了,说明core dump打开了。
注意这句ulimit -c unlimited
只对当前会话有效。要永久有效的话看这里
https://www.cnblogs.com/Anker/p/6079580.html
2 程序崩溃不产生core文件
执行命令:man 5 core 查看可能出现的情况
它这里面列举了几条不产生core文件的原因,你可以逐条对照。最有可能的原因是/proc/sys/kernel/core_pattern文件里面把你的core文件发送到别处去了。它这里面列举了几条不产生core文件的原因,你可以逐条对照。最有可能的原因是/proc/sys/kernel/core_pattern文件里面把你的core文件发送到别处去了。
3 解决办法
如果查看core_pattern 内容如下:|/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E 或则其他,说明产生的文件已经保存到不知道的位置了,需要修改为core就可以了。
例如:
使用这种方式修改文件:sudo gedit core_pattern
文件保存之后,再次执行程序崩溃之后就会产生core文件了。
最后非常感谢作者:
tomwillowhttps://blog.csdn.net/tomwillow