在伺服器上執行某些命令時會出現崩潰,並列印核心已轉儲字樣。如果需要分析具體log,可以按照如下步驟:
設定core file 生成,命令:ulimit -c unlimited
設定core file生成路徑,命令:echo "/var/log/core-%e-%p-%t" > /proc/sys/kernel/core_pattern
執行出錯的命令生成core file,命令:
檢視core file,如:/var/log/core--***xx-*********
使用gdb除錯:gdb -c /var/log/core--***xx-*********
l(list) ,顯示源**,並且可以看到對應的行號;
b(break)x, x是行號,表示在對應的行號位置設定斷點;
p(print)x, x是變數名,表示列印變數x的值
r(run), 表示繼續執行到斷點的位置
n(next),表示執行下一步
c(continue),表示繼續執行
q(quit),表示退出gdb
段錯誤(核心已轉儲)的原因
一旦乙個程式發生了越界訪問,cpu 就會產生相應的保護,於是 segmentation fault 就出現了,通過上面的解釋,段錯誤應該就是訪問了不可訪問的記憶體,這個記憶體區要麼是不存在的,要麼是受到系統保護的,還有可能是缺少檔案或者檔案損壞。下面是一些典型的段錯誤的原因 非關聯化空指標 這是特殊...
GCC 4 6 3段錯誤(核心已轉儲)
串列埠相關的標頭檔案 include 標準輸入輸出定義 include 標準函式庫定義 include include include 檔案控制定義 include 標準輸入輸出定義 include 錯誤號定義 include posix終端控制定義 include include include ...
核心檔案 核心轉儲
核心檔案 核心檔案 core file 也稱核心轉儲 core dump 是作業系統 在程序收到某些訊號 而終止執行時,將此時程序位址空間的內容以及有關程序狀態的其他資訊寫出的乙個磁碟檔案。這種資訊往往用於除錯。核心檔案一詞 於磁芯記憶體 core memory 核心轉儲 通常這個詞的含義是乙個動作...