Как отследить гостевую ОС, когда 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
Другие вопросы по тегам