我正在尝试设置kdump来为内核-3.10.0-123.el7生成vmcore。对于perf内核-3.10.0-123.el7.x86_64.rpm,我设置了kdump,kdump也运行良好,生成vmcore。然后我安装了
内核-调试-3.10.0-123.el7.x86_64.rpm
使用yum安装内核-调试-3.10.0-123.el7.x86_64.rpm和kdump运行良好。
但是我没有vmlinux来读取调试内核的vmcore。然后,我从源代码中使用rpmbuild构建源代码。
kernel-3.10.0-123.el7.src.rpm
但我看到vmlinux
~/rpmbuild/BUILD/kernel-3.10.0-123.el7/linux-3.10.0-123.el7.x86_64/vmlinux 仅适用于perf内核,而不用于调试内核。
因此,从~/rpmbuild/来源
我复制了Linux3.10.0-123.el7.x86_64.tar.xz,并使用内核-3.10.0-x86_64-调试器配置作为.config获得vmlinux。
当我使用这个新构建的vmlinux作为调试内核的崩溃时,它会抛出错误,即内核版本不匹配。现在我被困住了。
请帮助我使用调试内核&调试vmlinux在centos7上设置kdump。
发布于 2015-08-15 02:43:20
因为我刚接触centos,所以我不知道调试包有vmlinux。我已经使用以下命令安装了调试rpms:
yum --enablerepo=debug install kexec-tools crash kernel-debug kernel-debuginfo-`uname -r`我注意到内核-调试器-3.10.0-123.el7.x86_64在位置上有vmlinux:
/usr/lib/debug/lib/modules/3.10.0-123.el7.x86_64/vmlinux所以我得到了vmlinux。
此vmlinux适用于非调试内核。
https://stackoverflow.com/questions/31989258
复制相似问题