如果你的程序在运行的时候,出现了:
Segmentation fault
错误,怎么办。
让系统生成core dump文件,就是程序崩溃的信息。默认系统在程序崩溃的时候并不会生成core dump文件的,使用
ulimit -c unlimited
然后再运行的你的程序,你会发现此时输出不再是简单的
Segmentation fault
变成了
Segmentation fault(core dumped)
这就说明core dump文件已经生成。那么这个在哪里,名字是什么呢?
位置
/data
名字:
core.[app]
app就是你的名字,如果你的程序名字是 main,那么core dump文件名就是
core.main
然后使用gdb分析,我们还是以你的程序名main为例,
gdb ./main /data/core.main
回车就会出一堆信息,接着输入下面命令:
bt
这个命令就是调用堆栈信息,这样就可以很清晰的看到在什么地方崩溃的了。
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.