Segmentation fault (core dumped)
在部署ubantu程序的过程中遇到了问题。程序部署上去,执行脚本文件,没有任何反应,没有产生日志,没有进程。起初,以为是编译的程序有问题,重新部署,依然是没有任何反应。把脚本代码直接在终端中执行,发现了报了Segmentation fault (core dumped)这个错误。这个错误让我有点懵圈的。我以为是程序版本的问题,我把程序回滚到之前的版本,部署上去依然是这个错误。对于这个错误,我一点认知没有。
Linux 下打开 Core Dump
- 在终端中输入命令
ulimit -c
,输出的结果为 0,说明默认是关闭 core dump 的,即当程序异常终止时,也不会生成 core dump 文件。 - 我们可以使用命令
ulimit -c unlimited
来开启 core dump 功能,并且不限制 core dump 文件的大小
使用 gdb 调试 Core 文件
运行程序,当core dump 之后,使用命令 gdb program core
来查看 core 文件,其中 program 为可执行程序名,core 为生成的 core 文件名。
最后,发现是文件出现了不明所以的损坏。无奈通过压缩文件,在服务器上解压得以解决。