Отладчик WinDbg
Одним из отладчиков, который может использовать разработчик драйверов, является отладчик WinDbg, поставляющийся в составе пакета DDK. Отладчик WinDbg представляет собой гибрид отладчика уровня ядра и пользовательского режима. При помощи WinDbg можно проводить анализ файлов "crash dump files" (отображение физической памяти в момент сбоя), отлаживать драйверный код путем трассирования (исполнения), анализировать "dump file" приложений (пользовательского режима).
Помимо того, что WinDbg выполняет свои задачи и в режиме ядра, и в пользовательском режиме, он также предоставляет рабочий интерфейс и в графической форме, и в форме командной строки, характерной для старых отладчиков.
Одной из самых значительных возможностей, которой обладает отладчик WinDbg, является его способность поддерживать отладку компонентов уровня ядра в исходных текстах отлаживаемых модулей. При этом отладчику должны быть доступны и исходные тексты, и файлы с отладочными символами (далее они будут называться "файлы идентификаторов").
Тем не менее, отладка в исходных текстах представляет достаточно существенную организационную проблему.
Во-первых, для отладки драйвера требуется два компьютера, на одном из которых работает собственно отладчик, а на втором — отладочный агент, относительно небольшой объем кода, который получает управляющие команды с первого компьютера.
Во-вторых, для проведения отладки потребуется отладочная версия операционной системы, для которой имеются соответствующие файлы отладочных символов.
Сумма этих затруднений может перевесить чашу весов в пользу других отладчиков, в особенности, отладчика SoftIce фирмы CompuWare Corporation (разумеется, если не принимать в рассмотрение цену полной версии пакета Driver Studio).