linux下如何使用coredump查看段错误
1.使用ulimit -c命令查看当前是否开启了coredump,如果为0则表示未开启,为unlimited则表示已经开启,若为0可以使用ulimit -c unlimited开启。
2.编写一段会产生段错误的代码core_dump.c,如下
void main()
{
int *p=NULL;
*p=10;
}
3.使用gcc -g core_dump.c生成一个可以用来调试的可执行程序。
4.执行可执行程序,产生段错误,生成core文件
5.使用gdb ./a.out core命令调试,结果如下
从调试结果中我们可以看出代码14行产生了段错误,引起段错误的原因是
将10赋值给了*p。