我想使用 QEMU 来记录/重放执行。但是,重播并不像中所述那样工作手动的:
$ qemu-system-i386 \
-icount shift=auto,rr=record,rrfile=record.bin,rrsnapshot=snap1 \
-drive file=boot.qcow2,if=none,snapshot=on,id=img-direct \
-drive driver=blkreplay,if=none,image=img-direct,id=img-blkreplay \
-device ide-hd,drive=img-blkreplay \
-net none
$ qemu-system-i386 \
-icount shift=auto,rr=replay,rrfile=record.bin,rrsnapshot=snap1 \
-drive file=boot.qcow2,if=none,snapshot=on,id=img-direct \
-drive driver=blkreplay,if=none,image=img-direct,id=img-blkreplay \
-device ide-hd,drive=img-blkreplay \
-net none
qemu-system-i386: Snapshot 'snap1' does not exist in one or more devices
qemu-system-i386: Could not load snapshot for icount replay
用 制作的快照savevm xyz
也找不到。
我如何才能开始重播?
QEMU版本:7.0.0
答案1
该示例不是直接来自手册,因为您已添加 rrsnapshot 并且它正确报告“snap1”不存在。快照是通过 HMP/QMP 使用“savevm”命令在重播模式下手动创建的,可用于跳回到给定的执行状态。