核心文件(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).