Отладка драйвера 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(). Работает как шарм, но вы должны выполнять следующие шаги каждый раз, когда хотите отладить:

  1. Отключить устройство в диспетчере устройств
  2. Включить устройство в диспетчере устройств
  3. В Visual Studio быстро подключиться к процессу WDFhost.exe: Отладка->Прикрепить к процессу. У вас есть 15 секунд, чтобы сделать это, если вы настроили реестр, как указано выше.

Примечание. Нет необходимости устанавливать «bcdedit /debugon» для такой отладки. Это хорошо, потому что если у вас включена безопасная загрузка, вы не сможете установить режим отладки.

Другие вопросы по тегам