Как отследить гостевую ОС, когда qemu запущен с включенным kvm, а cpu - хост?
Можно ли отследить выполнение гостевой ОС (точки останова / наблюдения, пошаговое выполнение), когда используется kvm и для процессора установлено значение host?
Если я запускаю QEMU с
qemu-system-x86_64 -no-kvm -cpu core2duo -m 256 -cdrom kernel.iso -s -S
целевой удаленный:1234 // в командной строке GDB
трассировка идет нормально, но когда я бегу, используя
qemu-system-x86_64 -enable-kvm -cpu host -m 256 -cdrom kernel.iso
не работает точка останова (гость никогда не останавливается), поэтому мой вопрос. Если да, может кто-нибудь указать мне правильный конфиг?
Мне нужен KVM, чтобы показать функции PMU для гостя.
* PMU: блок мониторинга производительности
2 ответа
Хорошо, я понял, чего мне не хватало. С включенным kvm и установленным процессором на хост, используйте аппаратную точку останова вместо программной точки останова. Единственная проблема заключается в том, что наш бюджет на аппаратную точку останова ограничен
То, что вы хотите сделать, называется: самоанализ виртуальной машины (VMI). Взгляните на эти две статьи:
Virtual machine introspection: Techniques and applications
A Survey on Hypervisor Based Monitoring: Approaches, Applications, and Evolutions