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 文件名。

Segmentation fault (core dumped)

最后,发现是文件出现了不明所以的损坏。无奈通过压缩文件,在服务器上解压得以解决。