qemu
提供了一个dump-guest-memory
的命令,可以获取Guest
系统的内存镜像:
演示
还以下边命令启动虚拟机:
sudo qemu-system-aarch64 -M virt \
-cpu cortex-a57 \
-nographic \
-smp 2 \
-m 2G \
-kernel ./linux/llvm-build/arch/arm64/boot/Image \
-append "nokaslr console=ttyAMA0 rootwait root=/dev/vda rw rootfstype=ext4 noinitrd" \
-drive if=none,file=./buildroot-2024.11-rc3/output/images/rootfs.ext4,id=hd0 \
-device virtio-blk-device,drive=hd0
触发一个crash
:
echo c > /proc/sysrq-trigger
按Ctrl+a c
进入qemu
的monitor
模式,输入dump-guest-memory <vmcore-filename>
命令,回车:
然后就可以用crash-utility
加载该vmcore
文件进行离线分析了。