core dump
1. 开启core dump功能
ulimit -c unlimited
2. gdb 可执行文件 corefile
一运行gdb,一般就可看到异常原因,之后运行bt显示详细栈信息,进一步确认原因。
3. coredump文件位置配置:
静态配置永久有效:
/etc/sysctl.conf文件配置:
kernel.core_pattern=/tmp/core-%e #配置位置
kernel.core_uses_pid = 1 #是否显示进程号
配置完成后,执行sysctl -p /etc/sysctl.conf
动态配置:
echo “/tmp/core-%e” > /proc/sys/kernel/core_pattern
echo 1 > /proc/sys/kernel/core_uses_pid
附:Core_pattern的格式
可以在core_pattern模板中使用变量还很多,见下面的列表:
%% 单个%字符
%p 所dump进程的进程ID
%u 所dump进程的实际用户ID
%g 所dump进程的实际组ID
%s 导致本次core dump的信号
%t core dump的时间 (由1970年1月1日计起的秒数)
%h 主机名
%e 程序文件名
参考:
1. 详解coredump