ubuntu下使用GDB调试segment fault错误

注意:下面的使用仅在ubuntu实验过。

1.打开ubuntu的core dump,这样程序出错后会生成corefile以供我们分析

echo '/tmp/corefile/core.%e.%p.%t' | sudo tee /proc/sys/kernel/core_pattern
ulimit -c unlimited

然后创建/tmp/corefile文件夹

mkdir /tmp/corefile/

2.运行程序,如果出现段错误(核心已转储),则说明corefile已经生成了。检查/tmp/corefile下是否有新生成的错误文件。

如果没有,执行cat /proc/sys/kernel/core_pattern,检查/tmp/corefile/core.%e.%p.%t是否写入了

3.使用gdb调试错误