注意:下面的使用仅在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调试错误