Отладка драйвера UMDF без двух машин
Можно ли отлаживать драйверы UMDF на машине с Windows, на которой я их разрабатываю?
1 ответ
Что касается драйверов UMDF 2:
Вы можете подключить Visual Studio к процессу WUDFhost.exe, как только устройство будет установлено или включено. Но тогда у вас есть проблема, что вы не можете отлаживать DriverEntry. Чтобы иметь возможность отлаживать DriverEntry, вы можете установить это значение реестра:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WUDF\Services\
установить значение
HostProcessDbgBreakOnDriverLoad
чтобы настроить время ожидания WDFhost.exe в секундах перед вызовом DriverEntry. Я установил это значение на 0xf, поэтому у меня есть 15 секунд после включения драйвера для подключения Visual Studio к процессу WUDFhost.exe. Затем вы можете просмотреть код драйвера и просмотреть все сообщения журнала DbgPrintEx(). Работает как шарм, но вы должны выполнять следующие шаги каждый раз, когда хотите отладить:
- Отключить устройство в диспетчере устройств
- Включить устройство в диспетчере устройств
- В Visual Studio быстро подключиться к процессу WDFhost.exe: Отладка->Прикрепить к процессу. У вас есть 15 секунд, чтобы сделать это, если вы настроили реестр, как указано выше.
Примечание. Нет необходимости устанавливать «bcdedit /debugon» для такой отладки. Это хорошо, потому что если у вас включена безопасная загрузка, вы не сможете установить режим отладки.