打开终端,然后输入以下命令开启ulimit
ulimit -c unlimited # 打开ulimit ulimit -c # 如果打开成功会返回unlimited
PS:以上开启ulimit的操作只会在当前终端下有效
执行main,
./main
这样就会出现Segmentation Fault,特别注意后面括号里的"core dumped",如果没有开启ulimit就不会出现这个信息。
并且在当前目录下出现core文件,
解析core文件
使用gdb解析core文件,
gdb ./main ./core.XXXX
会提示在程序中的哪一行造成Segmentation Fault,非常方便。