先决条件
1.安装apport(automatically generate crash reports for debugging)
2.修改/etc/security/limits.conf文件,使允许core dump,或者用ulimit -c unlimited设置core dump文件的大小为unlimited(临时方案)
3.C/C++的编译开关-g(产生调试符号)
#include <stdio.h>
int main(){
char* p=NULL;
*p=123;
return 0;
}
Segmentation fault (core dumped)表示成功,core文件在/var/crash或者在当前目录
段错误 (core dumped)
果然在当前目录
core.3052
gdb一下
######程序是由于段错误退出的
Program terminated with signal 11, Segmentation fault.
这个简单的例子我们可以发现是空指针引发的段错误