linux crash是用于存放生成的crash的文件夾,該文件夾默認存放在“/var/crash”中,而控制存放位置的文件是“/var/sysconfig/kdump”文件,用戶可以通過安裝kdump工具查看crash。
本教程操作環(huán)境:linux5.9.8系統(tǒng)、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 壓縮的 可引導的內(nèi)核(應該是),gz的解壓縮方式為: gunzip vmlinux-2.6.32.59-0.7-default.gz
3:下載對應版本的代碼。編譯帶-g選項的對應版本的調(diào)試內(nèi)核,加-g選項可以通過make menuconfig把調(diào)試信息打開(我編譯的時候直接make就能出調(diào)試內(nèi)核,沒有做這個過程)。
查看自己系統(tǒng)的內(nèi)核版本命令: uname -r
make完的包中 vmlinux為編譯出來的帶調(diào)試的內(nèi)核,可以把vmlinx拷貝出來到crash目錄中,然后在該目錄中輸入 crash vmcore vmlinux 。意思是用編譯出來的內(nèi)核 解析vmcore文件。
4:然后用bt命令查看寄存器 mod命令加載調(diào)試符號 struct 把某個地址結(jié)構解析出來
推薦學習:《Linux視頻教程》