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

2. 使用GDB分析core dump文件

3. Core file 文件格式(Linux Coredump文件结构)

posted @ 2015-08-10 22:34  yuxi_o  阅读(193)  评论(0编辑  收藏  举报