核心檔案

核心檔案(core file),也稱磁芯傾印(core dump)[1],是作業系統行程收到某些訊號而終止執行時,將此時行程地址空間的內容以及有關行程狀態的其他資訊寫入一個磁碟檔案。這種資訊往往用於除錯

早期電腦中使用的磁芯主記憶體

背景

核心檔案一詞來源於磁芯主記憶體(core memory),1950-1970年代的主要的隨機存取儲存媒介。

使用

核心檔案通常在系統收到特定的訊號時由作業系統生成。訊號可以由程式執行過程中的異常觸發,也可以由外部程式傳送。動作的結果一般是生成一個某個行程的主記憶體轉儲的檔案,檔案包含了此行程當前的執行堆疊資訊。有時程式並未經過徹底測試,這使得它在執行的時候一不小心就會遭到破壞。這可能會導致核心轉儲(core dump)。現在的UNIX系統極少會面臨這樣的問題。即使遇到,程式設計師可以通過核心映像除錯程式來找到錯誤原因。

分析

程式自身產生的coredump檔案一般可以用來分析程式執行到哪裏出錯了。

Linux平台常用的coredump檔案分析工具是gdb;Solaris平台用pstack和pflags;Windows平台用userdump和windbg。

外部程式觸發的dump一般用來分析行程的執行情況,比如分析主記憶體使用/線程狀態等。

Solaris的常用主記憶體分析工具umem就是需要先通過gcore pid得到coredump的檔案然後繼續分析主記憶體情況。

別名

因一個翻譯錯誤,它也被戲稱為吐核[2]

參考文獻

  1. ^ core dump - 磁心傾印頁面存檔備份,存於互聯網檔案館)國家教育研究院雙語詞彙
  2. ^ 会“吐核”的终端,才是好终端!. I'm TualatriX. [2017-03-29]. (原始內容存檔於2017-03-30).