打开coredump并修改文件生成路径

查看core dump状态

在终端输入:

1
ulimit -c

输出:

1
0

说明core dump是关闭的。

打开core dump功能

临时打开-针对当前终端

使用命令:

1
ulimit -c unlimited

开启core dump功能,并且不限制core dump文件大小;如果限制大小,可以将unlimited改为文件最大值,单位KB。

永久打开

修改 /etc/profile文件,在文件末尾追加:

1
ulimit -c unlimited > dev/null 2>&1

如需要立即生效,可以执行:

1
source /etc/profile

修改core dump文件生成路径

默认core dump文件保存在当前路径下,文件名为core。修改/proc/sys/kernel/core_pattern可以控制core文件的保存位置及文件名格式:

1
2
3
4
5
# core文件保存在/tmp目录下,文件名格式为"core.时间"
echp "/tmp/core.%t" > /proc/sys/kernel/core_pattern

# core文件保存在/tmp目录下,文件名格式为"core.程序名-pid-时间"
echp "/tmp/core.%e-%p-%t" > /proc/sys/kernel/core_pattern

调试core dump文件

当程序生成core文件后,可以通过gdb调试错误信息。

1
gdb 程序吗 core文件