Вступление в отладку драйверов

Итак - такого геммороя как отладка драйверов в Windows представить трудно.

Такое ощущение , что разработкой ПО для отладки в MicroSoft занимались разные люди и лепили каждый по-своему не обращая внимания друг на друга.

Но тем не менее после первых попыток разработки - советую читать оригинальный сайт microsoft.com . Ибо если они не понимают как все это должно работать - никто не поймет.
Помогают также люди по всему миру (english в помощь). Чем точнее указан поисковый запрос тем быстрее приходит результат.

Будут использоваться :
Windows Driver Kit 7 и Windows Driver Kit 10.
К счастью можно устанавливать одновременно, друг другу не мешают. Т.к. вход в WinDDK7 сделан через свои батники с настройкой своей среды окружения.

Кого называть Host , кого Target

ms : The computer that runs the debugger is called the host computer, and the computer that runs the driver is called the target computer. The target computer is also called the test computer.


Target - ПК на котором работает наш драйвер и на котором в Windows включена отладка.

Host - ПК , на котором запущен WinDbg (отладчик), и котором видим трассировочные сообщения и т.д.


Kernel mode | User mode

https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/getting-started-with-windows-debugging

Своими словами :

Kernel mode - работа с аппаратными устройствами. Например аппаратный COM порт (аппаратные прерывания и т.д.)

User mode - нечто посередине между Kernel-Mode и обычными программами. Имеет свой виртуальное пространство. Например виртуальный COM порт.

Отладка для драйверов этих двух режимов , как вы наверное догадались, разная.


32-bit | 64-bit

разделяй и властвуй.