linux下core dump檔案的使用

2021-06-19 23:19:46 字數 723 閱讀 2156

core dump是指當程序發生異常而退出執行時,由kernel將程序當前記憶體寫入乙個檔案中的機制。core dump機制在程式開發過程中很重要,通過core檔案可以很有力地追蹤到異常發生點。

1.linux在預設情況下是不生成core檔案的,所以在使用core dump之前,必須先通過ulimit命令進行設定。

2.ulimit -c 命令可以檢視到core dump檔案的打下,預設情況下為0,可以通過ulimit -c 1024 將core檔案大小設定為1kb,或者通過設定ulimit -c unlimited不限制core檔案大小。

3.core檔案一般輸出到當前目錄下,但是可以通過修改kernel中的一些引數來改變core dump檔案的路徑和名字,具體方法為:

1. 修改/proc/sys/kernel/core_uses_pid 中的0為1,從而使pid成為core檔名。

2. 修改 /proc/sys/kernel/core_pattern中的core檔案的生成路徑和生成名,具體引數google之。

注:上述改變只會影響本次系統執行,當系統重啟後,將不再有效,可以通過 sysctl kernel.core_uses_pid=1和 sysctl kernel.core_pattern=***xx來實現永久改變。

4.core 檔案可以通過gdb來檢視異常點,具體形式為 gdb  your_program core_file,注意只有你所生成的程式是帶除錯資訊的程式時,gdb才能正確載入core檔案。

linux下core dump的妙用

在unix系統中,常將 主記憶體 main memory 稱為核心 core 因為在使用半導體作為記憶體材料之前,便是使用核心 core 而核心映像 core image 就是 程序 process 執行當時的記憶體內容。當程序發生段錯誤或收到 訊號 signal 而終止執行時,系統會將核心映像寫入...

Linux下core dump (段錯誤)

在linux下開發時,如果程式突然崩潰了,也沒有任何日誌。這時可以檢視core檔案。從core檔案中分析原因,通過gdb看出程式掛在 分析前後的變數,找出問題的原因。當程式執行的過程中異常終止或崩潰,作業系統會將程式當時的記憶體狀態記錄下來,儲存在乙個檔案中,這種行為就叫做core dump 中文有...

linux 下如何開啟core dump檔案開關

在linux下面就簡單的許多。只要開啟相應的開關,linux會自動在程式crash時生成相應的core檔案。這個檔案和window下的dump檔案類似。下面是簡單的一些步驟 1.檢視當前是否已經開啟了此開關 通過命令 ulimit c 如果輸出為 0 則代表沒有開啟。如果為unlimited則已經開...