За последнее время я практически полностью перешел на VirtualBox в качестве гипервизора. Этому, в числе прочего, сильно поспособствовали:
- вливание кода интеграции с VirtualKD в основной репозиторий
- сносная работоспособность отладки Windows через сеть на современных версиях ОС Windows (8 и старше)
Отладку Windows через сеть я использую, что бы не нажимать F8 при каждой загрузке систем Win8 и старше. И чем дальше, тем больше в качестве гостевой ОС используется Win8+. А vmmon.exe не автоматизирует запуск/останов отладчиков для машин без VirtualKD.
Это и подтолкнуло к созданию набора из двух скриптов - vbox_kd. Первый vbox_kd_set_VM_connect_options.cmd - подготовительный, он сохраняет информацию о том, с какой командной строкой нужно запускать WinDbg.
Например для машины "Windows 8.1 x64", которая будет отлаживаться через сеть, нужно выполнить следующую команду:
А для машины "Windows 7", которая будет отлаживаться с использованием VirtualKD:
Второй скрипт vbox_kd_monitor.pyw запускает VirtualBox.exe и следит за состояниями виртуальных машин. Если запускается машина, для которой был предварительно вызван vbox_kd_set_VM_connect_options.cmd, то будет запущен WinDbg. При завершении сеанса виртуальной машины будет завершен и WinDbg.
Для корректной работы скриптов нужно исправить пути в vbox_kd.ini, если VirtualBox или WinDbg установлены не по стандартному пути. А так же VirtualBox должен быть установлен с поддержкой скриптинга Python (по умолчанию ставится инсталлятором).
Updated (11.05.2018)
- Проект перенесен на githomelab.ru
- Добавлена поддержка VirtualBox API версии 5.2
ΞρεΤΙκ