我们在Liunx环境中写代码时,有时候会碰到异常退出,而异常退出经常很难寻找,所以就出现了core dumped来保存异常退出信息,用于在调试中寻找错误信息。
下面就是core dumped的使用方法;
1:首先我们查看核心转储文件的大小;
使用 ulimit -a选项
我们会的发现core file size 为0,时系统默认
2:设置core file size大小
使用ulimit -c 1024 大小为1024个字节
3:我们写一个如下的程序
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<signal.h>
int main()
{
abort(); //抛异常的信号接口
while(1)
{
printf("BelongAl\n");
}
return 0;
}
在上面的代码中使用了abort函数,为进程发送了一个异常信号,使得程序异常退出;
4:运行该程序
运行完该程序之后会出现如下core.pid的一个文件,这个文件中所存储的就是异常的错误信息了。
5:使用该文件进行调试
如上图使用gdb进行调试,在过程中使用core -file core.pid命令进行加载核心转储文件,你会发现出现程序终止和6号信号有关
再使用bt命令查看函数调用栈
你会发现程序是以main->abort->raise函数的调用顺序实现的。
以上就是core dumped的操作了,如果有误请慷慨指出。