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

最後,發現是文件出現了不明所以的損壞。無奈通過壓縮文件,在服務器上解壓得以解決。

發佈了57 篇原創文章 · 獲贊 10 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章