Прочитать на английском

Поделиться через


Отправка выходных данных в отладчик

Код пользовательского режима и режима ядра используют различные подпрограммы для отправки выходных данных в отладчик.

Рутины вывода User-Mode

Подпрограмма OutputDebugString отправляет строку, завершающую значение NULL, отладчику вызывающего процесса. В драйвере пользовательского режима OutputDebugString отображается строка в окне команды отладчика. Если отладчик не запущен, эта подпрограмма не влияет. OutputDebugString не поддерживает аргументы переменной отформатируемой строки printf .

Прототип этой подпрограммы выглядит следующим образом:

VOID OutputDebugString(
   LPCTSTR lpOutputString
   );

Полные сведения об этой подпрограмме см. в разделе "Взаимодействие с отладчиком".

Рутины вывода Kernel-Mode

Подпрограмма DbgPrint отображает выходные данные в окне отладчика. Эта подпрограмма поддерживает базовые параметры формата printf . Только драйверы в режиме ядра могут вызывать DbgPrint.

Подпрограмма DbgPrintEx похожа на DbgPrint, но позволяет "тегировать" сообщения. При запуске отладчика можно разрешить отправлять только те сообщения с определенными тегами. Это позволяет просматривать только интересующие вас сообщения. Дополнительные сведения см. в разделе "Чтение и фильтрация сообщений отладки".

Макросы KdPrint и KdPrintEx идентичны DbgPrint и DbgPrintEx соответственно при компиляции в отладочной среде сборки. При компиляции в среде бесплатной сборки они не влияют.


Дополнительные ресурсы