Segmentation fault怎么办

如果你的程序在运行的时候,出现了:

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

这个命令就是调用堆栈信息,这样就可以很清晰的看到在什么地方崩溃的了。

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.

    分享到:

留言

你的邮箱是保密的 必填的信息用*表示