无法在centos7上为调试内核设置​​崩溃转储

时间:2015-08-13 13:12:12

标签: linux debugging linux-kernel crash centos7

我正在尝试设置kdump来为kernel-3.10.0-123.el7生成vmcore。对于perf内核kernel-3.10.0-123.el7.x86_64.rpm我设置kdump和kdump工作正常,生成vmcore。 然后我安装了

  

内核调试3.10.0-123.el7.x86_64.rpm

使用yum install kernel-debug-3.10.0-123.el7.x86_64.rpm和kdump工作正常。

但后来我没有让vmlinux读取调试内核的vmcore。 然后我使用源代码中的rpmbuild构建源代码

  

内核3.10.0-123.el7.src.rpm

但我在

中看到了vmlinux
  

〜/的rpmbuild / BUILD /内核3.10.0-123.el7 / Linux的3.10.0-123.el7.x86_64 / vmlinux的

     

对于perf内核仅适用于调试内核

所以来自〜/ rpmbuild / SOURCES

  

我复制了linux-3.10.0-123.el7.x86_64.tar.xz并使用了   kernel-3.10.0-x86_64-debug.config as .config to get vmlinux

当我使用这个新构建的vmlinux进行调试内核崩溃时,它引发了内核版本不匹配的错误。现在我被卡住了。

请帮我在centos7上用调试内核设置​​kdump& debug vmlinux。

1 个答案:

答案 0 :(得分:2)

由于我是centos的新手,我不知道调试pakages有vmlinux。我使用以下命令安装了debug rpms:

yum --enablerepo=debug install kexec-tools crash kernel-debug kernel-debuginfo-`uname -r`

我注意到kernel-debuginfo-3.10.0-123.el7.x86_64在位置有vmlinux:

/usr/lib/debug/lib/modules/3.10.0-123.el7.x86_64/vmlinux

所以我得到了vmlinux。

这个vmlinux适用于非调试内核。