首页 > 代码库 > /var/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 把某个地址结构解析出来

/var/crash目录解析