第一步:命令行执行 ulimit -c unlimited,然后用ulimit -c 检查是否设置成功,显示unlimited为成功
第二步: 打开/etc/sysctl.conf, 文件末尾添加, 注意确保 /var/core_log 目录存在,也可用别的目录
kernel.core_pattern=/var/core_log/core_%e_%t_%p
第三步: 命令行 sysctl -p 使得刚才配置生效
第四步:生成一个core_dump 例子,并用gdb调试:
//coredump test.c
#include <stdio.h>
int main()
{
char *ptr="core_dump test";
*ptr=0;
}
//gcc -g -o test test.c
//./test
//gdb ./test coredump_file