openEuler 22.03LTS版本安装内核调试镜像vmlinux

架构 x86_64 (笔记本安装vmware,vmware装openEuler)

openEuler版本: 22.03 LTS

下载链接:

vmware版本

虚拟机配置

注意:虚拟机内存要配置高一点,刚开始使用vmware的默认配置768MB,手动触发虚拟机宕机会导致虚拟机一直卡住。

安装内核调试镜像

查看openEuler 22.03 LTS 内核版本

[root@localhost ~]# uname -a Linux localhost.localdomain 5.10.0-60.18.0.50.oe2203.x86_64 #1 SMP Wed Mar 30 03:12:24 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

openEuler镜像包默认配置的内核yum源的调试包存在比系统更高的版本的情况,因此安装时需要指定内核版本,命令如下:

yum install kernel-debuginfo-5.10.0-60.18.0.50.oe2203 kernel-tools-devel-5.10.0-60.18.0.50.oe2203 kernel-tools-debuginfo-5.10.0-60.18.0.50.oe2203

安装完成后可以在 /usr路径下找到调试镜像vmlinux

find /usr -name "vmlinux"

安装内核调试工具crash

yum install crash

测试

手动触发系统宕机重启

echo c > /proc/sysrq-trigger

系统重启后进入/var/crash目录下,可以看到系统生成了一个宕机目录

进入该目录,可以看到两个文件,一个是内核转储文件,一个是dmesg日志

用crash命令和安装好的调试镜像调试该转储文件

打印触发宕机的堆栈

经验分享 程序员 微信小程序 职场和发展