什么是coredump异常处理
Linux coredump功能是当Linux下应用程序异常时,Linux内核默认的一种异常信号处理机制,内核会把异常信息与进程内存转储成coredump文件,程序员通过gdb工具可以离线分析应用程序异常时的情况。
1)配置 core 文件生成的目录,其中 %e 表示程序文件名,%p 表示进程 ID,
否则会在程序的当前目录生成 core 文件;
echo /data/coredump/core.%e.%p >/proc/sys/kernel/core_pattern
-
当前执行程序的用户对 core 目录有写权限 且 有足够的空间存储 core 文件;
-
生成不受限制的 core 文件;
ulimit -c unlimited
演示代码:
#include<stdio.h>
int func(int * p)
{
int y = *p;
return y;
}
void func1(int *x){
printf("x:%d\n",*x);
}
void func2(int *x){
printf("x:%d\n",*x);
}