Linux下core dump学习

参考链接
在linux下开发时,如果程序突然崩溃了,也没有任何日志。这时可以查看core文件。从core文件中分析原因,通过gdb看出程序挂在哪里,分析前后的变量,找出问题的原因。

1 查看linux下core dump是否开启

在linux上coredump默认是关闭的,可以通过ulimit -c查看,如果输出为0,则代表coredump没有开启。
可以使用 ulimit -c unlimited开启,再用ulimit -c查看,结果为unlimited;
但这种操作只能对当前终端有效,想让coredump持久开启,需修改vim /etc/security/limits.conf文件为如下内容:Linux下core dump学习
再执行ulimit -c unlimited命令,打开新的终端再执行ulimit -c,结果显示为unlimited。

2设置core文件的保存路径和名称:

cd /proc/sys/kernel/

echo “/var/log/core/corefile-%e-%p-%t” > core_pattern (设置文件名称以及路径),/var/log/core文件夹不会自动生成需手动创建且创建时需注意权限。

生成core的文件
Linux下core dump学习

3查看core文件

Linux下core dump学习
Linux下core dump学习