Linux 配置crash
CentOS 7 配置crash
- 在终端执行如下命令安装crash
yum install kexec-tools crash
- 在终端上执行如下命令,查看虚拟机版本号,如我这里为:3.10.0-1160.el7.x86_64
uname -r
-
下载对应的有调试信息的内核rpm包
-
建议到http://debuginfo.centos.org/7/x86_64/中查找自己版本号,找到对应的 "kernel-debuginfo" 和 "kernel-debuginfo-common" 的rpm包,然后用共享文件夹或其他方法传入虚拟机
-
也可以在虚拟机上通过wget命令下载(可能会很慢)
wget http://debuginfo.centos.org/7/x86_64/kernel-debuginfo-3.10.0-1160.el7.x86_64.rpm wget http://debuginfo.centos.org/7/x86_64/kernel-debuginfo-common-x86_64-3.10.0-1160.el7.x86_64.rpm -
-
下载好后在虚拟机中安装rpm包:rpm -ivh xxxxx.rpm;
- 注意:先安装"kernel-debuginfo-common"包再安装”kernel-debufinfo“包
rpm -ivh kernel-debuginfo-3.10.0-1160.el7.x86_64.rpm rpm -ivh kernel-debuginfo-common-x86_64-3.10.0-1160.el7.x86_64.rpm -
安装好后,vmlinux文件存放在/usr/lib/debug/lib/modules/XXX/中(XXX为你虚拟机版本号),使用crash命令运行即可
crash /usr/lib/debug/lib/modules/3.10.0-1160.el7.x86_64//vmlinux
Ubuntu 22.04 配置crash
注:此方法只能在Ubuntu最新的版本上配置crash,简直目前最新版本为 22.04,公钥为C8CAB6595FDFF622,代号为“jammy”,如果最新版本有更新,对应的公钥和代号要进行更改
-
修改/etc/apt/sources.list文件,加入内核包下载路径
- sources.list为只读文件,首先要添加写权限
sudo chmod a+w sources.list- 在source.list最上方添加下列语句
deb http://ddebs.ubuntu.com/ jammy main restricted universe multiverse deb http://ddebs.ubuntu.com/ jammy-proposed main restricted universe multiverse deb http://ddebs.ubuntu.com/ jammy-updates main restricted universe multiverse -
使用如下命令,添加公钥,更新apt源
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C8CAB6595FDFF622 // 添加公钥
sudo apt-get update // 更新源
- 下载对应版本的带有debug信息的内核包,用命令下载将自动解包,并将vmlinux文件存放在/usr/lib/debug/boot/文件夹中
sudo apt-get install linux-image-unsigned-$(uname -r)-dbgsym
- 安装crash工具
sudo apt-get install linux-crashdump
- 运行crash
sudo crash /usr/lib/debug/boot/vmlinux-5.15.0-33-generic

浙公网安备 33010602011771号