virtual-machine - 我可以使用哪个 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
,但是,我找不到“我自己的日志”在哪里。任何人都可以建议吗?谢谢!
解决方案
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
推荐阅读
- amazon-web-services - 如何在terraform中传递不同值的列表
- angular - Angular:从 localStorage 中提取值并显示值
- asp.net-core - 使用 Entity Framework Core 在 ASP.NET Core MVC 中搭建复杂数据模型
- php - 你能帮我解决这个问题吗?警告:sprintf():第 2668 行 /home/kupinmvl/public_html/wp-includes/comment-template.php 中的参数太少
- c++ - find_path() 的 CMake 问题
- postgresql - AWS RDS 只读副本 - VPC 对等互连
- c - 使用C的停车费
- ios - 评估 Error 是否为 NSError 总是成功,同时将 Error 转换为 NSError 会导致编译器错误
- python - 创建一个以函数为条件的 Pandas 数据框列
- spring-boot - SpringBoot 中的 EqualsVerifier