首页 > 解决方案 > 我可以使用哪个 API 将自己的日志添加到 QEMU 以进行调试

问题描述

fprintf(stdout, "my own log")我尝试使用and将自己的日志添加到 qemu qemu_log("my own log"),然后从源代码编译 qemu 并通过以下命令启动 VM:

/usr/bin/qemu-system-x86_64 \
    -D /home/VM1-qemu-log.txt \
    -d cpu_reset \
    -enable-kvm \
    -m 4096 \
    -nic user,model=virtio \
    -drive file=/var/lib/libvirt/images/VM1.qcow2,media=disk,if=virtio \
    -nographic

中有与 CPU 相关的日志VM1-qemu-log.txt,但是,我找不到“我自己的日志”在哪里。任何人都可以建议吗?谢谢!

标签: virtual-machineqemukvm

解决方案


qemu_log("my own log")有效,我将它添加到错误的位置(即,'qemu/vl.c' 中的'main()' 的开头,尚未设置日志记录)。通过将其添加到另一个地方(例如,在virtio_blk_get_request()下面qemu/hw/block/virtio-blk.c),我将能够在 中看到“我自己的日志” /home/VM1-qemu-log.txt。虚拟机由以下人员创建:

/usr/bin/qemu-system-x86_64 \
    -D /home/VM1-qemu-log.txt \
    -enable-kvm \
    -m 4096 \
    -nic user,model=virtio \
    -drive file=/var/lib/libvirt/images/VM1.qcow2,media=disk,if=virtio \
    -nographic

推荐阅读