Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

A.2.2. 使用 Python 脚本保存内核转储

dump-guest-memory.py python 脚本实施 GNU Debugger(GDB)扩展,用于提取并保存主机上 qemu-kvm 进程崩溃后内核转储中的客户机内存。如果主机 QEMU 进程崩溃与客户机操作相关,则在 QEMU 进程崩溃时调查客户机状态会很有用。
python 脚本实施 GDB 扩展。这是 GDB 的新命令。在使用 GDB 打开原始(crashed)QEMU 进程的内核转储文件后,可将 python 脚本加载到 GDB 中。然后可从 GDB 提示符执行新命令。这会将 QEMU 内核转储中的客户机内存转储提取到新的本地文件。
使用 dump-guest-memory.py python 脚本:
  1. 在系统中安装 qemu-kvm-debuginfo 软件包。
  2. 启动 GDB,打开为崩溃的 /usr/libexec/qemu-kvm 二进制文件保存的核心转储文件。debug 符号会自动加载。
  3. 在 GDB 中载入新命令:
    # source /usr/share/qemu-kvm/dump-guest-memory.py
    注意
    加载 python 脚本后,内置 GDB 帮助命令 可以提供有关 dump-guest-memory 扩展的详细信息。
  4. 在 GDB 中运行命令。例如:
    # dump-guest-memory /home/user/extracted-vmcore X86_64
  5. 使用 crash 实用程序打开 /home/user/extracted-vmcore,以便虚拟客户机内核分析。