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