linux crash是用于存放生成的crash的文件夾,該文件夾默認存放在“/var/crash”中,而控制存放位置的文件是“/var/sysconfig/kdump”文件,用戶可以通過安裝kdump工具查看crash。
本教程操作環境:linux5.9.8系統、DELL G3電腦
linux crash 是什么文件夾?
/var/crash目錄解析
1:生成的crash默認存放在:/var/crash中,控制存放位置的文件是:/var/sysconfig/kdump文件。想要查看crash需要先安裝kdump工具,才會有kdump文件,opensuse中是默認不安裝的。
2:crash 目錄中有四個文件分別為:
linux:/var/crash/2015-01-04-14:37?#?ll total?3084144 -rw-r--r--?1?root?root???????????????????187?Jan??4?14:40?README.txt -rw-r--r--?1?root?root??????????1626134?Jan??4?14:40?System.map-2.6.32.59-0.7-default -rw-------?1?root?root???3149631649?Jan??4?14:40?vmcore -rw-r--r--?1?root?root??????????3801265?Jan??4?14:40?vmlinux-2.6.32.59-0.7-default.gz linux:/var/crash/2015-01-04-14:37?#
vmcore 為crash文件;vmlinux-2.6.32.59-0.7-default.gz 壓縮的 可引導的內核(應該是),gz的解壓縮方式為: gunzip? ?vmlinux-2.6.32.59-0.7-default.gz
3:下載對應版本的代碼。編譯帶-g選項的對應版本的調試內核,加-g選項可以通過make menuconfig把調試信息打開(我編譯的時候直接make就能出調試內核,沒有做這個過程)。
查看自己系統的內核版本命令: uname -r
make完的包中 vmlinux為編譯出來的帶調試的內核,可以把vmlinx拷貝出來到crash目錄中,然后在該目錄中輸入 crash vmcore vmlinux 。意思是用編譯出來的內核 解析vmcore文件。
4:然后用bt命令查看寄存器 mod命令加載調試符號 Struct 把某個地址結構解析出來
推薦學習:《Linux視頻教程》