1. 打开系统core dump设定
ulimit -c unlimited ulimit -a
2. 查看core dump生成方式
socol@ubuntu:~$ cat /proc/sys/kernel/core_pattern |/usr/share/apport/apport %p %s %c
3. 运行一个crash程序
socol@ubuntu:~/tmp$ cat testcoredump.c #include <stdio.h> int main(int argc, char* argv[]) { char* abc = "abc"; printf("%s\n", abc); char* abd = 0; char coredump = abd[0]; printf("%c\n", coredump); return 0; }
编译运行:
gcc -g -o testcoredump testcoredump.c ./testcoredump
最后会在当前目录下得到core文件。