На данный момент рабочая нагрузка большинства серверов выполняется с использованием технологии виртуализации, одним из видов которой является гипервизорная виртуализация. Крайне популярным гипервизором, в том числе для запуска Windows, является гипервизор QEMU/KVM.
Зачастую во время работы гостевых ОС возникают проблемы, такие как аварийные завершения и зависания. Один из методов решения проблем, возникающих при работе ОС Windows, — снятие снимков состояния системы, называемых дампами, которые в случае виртуальной машины могут быть сделаны со стороны гипервизора, и их анализ с помощью отладчика WinDbg. Целью данной работы является создание метода анализа проблем Windows, работающей внутри виртуальной машины под управлением QEMU/KVM.
В работе рассмотрены существующие методы создания отладочных дампов Windows со стороны гипервизора и их недостатки. Исследована структура полного отладочного дампа Windows, представлен метод сбора данных для создания дампа, не зависящий от версии Windows, предложен новый метод передачи c помощью виртуального устройства VMCoreInfo необходимой информации о гостевой ОС в гипервизор и создания с ее помощью полного дампа памяти Windows.
Представлена программная реализация этих методов в виде драйвера для гостевой Windows и компонента гипервизора QEMU, позволяющих со стороны гипервизора создавать отладочный дамп, который может быть проанализирован WinDbg, как во время работы системы, так и после аварийного завершения.