我是分析核心转储的新手。我发现自己有来自不同机器的 vmcore 文件,但当尝试运行崩溃命令时,它会抱怨系统正在运行不同版本的内核。如何分析不同服务器上的核心转储?谢谢。
答案1
使用与崩溃主机上完全相同的内核版本。 uname -r
应该匹配。
在转储文件上使用时崩溃在命令行上需要(可选压缩的)vmlinux 二进制文件(可能位于 下的某个地方)/usr/lib/debug/lib/modules/
,然后是转储的 vmcore 文件。
对于用户程序,请确保安装与崩溃系统相同的软件包。这对于使用 gdb 调试程序崩溃或测试一般应用程序很有用。
对该分析系统应用相同的修补程序,或者如果有的话,恢复操作系统备份。
调试器正在将符号、函数名称等加载到系统状态的内存转储中。版本需要精确匹配,否则将无法正常工作。