前言
Linux程序开发者,日常遇到程序奔溃时,应该如何调试,如何寻找原因和解决呢?本文就介绍了遇到Segmentation fault (core dumped)问题时最常规的定位方法。
一、确保产生core文件
当你在命令行执行一个程序时,遇到Segmentation fault (core dumped)后,第一时间查看当前目录下是否产生了core-xxxxx文件。
如果没有产生core文件,以ubuntu20.0为例:
- 查询OS当前最core file size的配置:
root@x-System-Product-Name:~# ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 62634
max locked memory (kbytes, -l) 65536
max memory size (kbytes, -m) unlimited
open files (-n