функция обратного вызова PWINDBG_OUTPUT_ROUTINE (wdbgexts.h)
Функция обратного вызова реализует функцию печати форматируемой строки в окне Команда отладчика.
Заголовок wdbgexts.h объявляет макрос dprintf , который выводит форматированную строку. Он работает так же, как обычная печать на языке C.
Синтаксис
PWINDBG_OUTPUT_ROUTINE PwindbgOutputRoutine;
void PwindbgOutputRoutine(
[in] PCSTR lpFormat,
[in] ... unnamedParam2
)
{...}
Параметры
[in] lpFormat
Задает строку формата, как в printf. Как правило, символы преобразования работают точно так же, как в C. Для символов преобразования с плавающей запятой 64-разрядный аргумент интерпретируется как 32-битовое число с плавающей запятой, если не используется модификатор l .
Символ преобразования %p поддерживается, но он представляет указатель в виртуальном адресном пространстве целевого объекта. Он может не иметь модификаторов и использует внутреннее форматирование отладчика. Поддерживаются следующие дополнительные символы преобразования:
Знак | Тип аргумента | Аргумент | Печатный текст |
---|---|---|---|
%p | ULONG64 | Указатель в виртуальном адресном пространстве целевого объекта | Значение указателя. |
%N | DWORD_PTR (32 или 64 бита в зависимости от архитектуры узла ) | Указатель в виртуальном адресном пространстве узла | Значение указателя. (Это эквивалентно стандартному символу C %p .) |
%I | ULONG64 | Любое 64-разрядное значение | Указанное значение. Если значение больше 0xFFFFFFFF оно выводится в виде 64-разрядного адреса, в противном случае — в виде 32-разрядного адреса. |
%ma | ULONG64 | Адрес строки ASCII, завершаемой null, в виртуальном адресном пространстве целевого объекта | Указанная строка. |
%mu | ULONG64 | Адрес строки Юникода, завершаемой значением NULL, в виртуальном адресном пространстве целевого объекта | Указанная строка. |
%msa | ULONG64 | Адрес структуры ANSI_STRING в виртуальном адресном пространстве целевого объекта | Указанная строка. |
%msu | ULONG64 | Адрес структуры UNICODE_STRING в виртуальном адресном пространстве целевого объекта | Указанная строка. |
%y | ULONG64 | Адрес символа отладчика в виртуальном адресном пространстве целевого объекта | Строка, содержащая имя указанного символа (и смещение, если оно есть). |
%ly | ULONG64 | Адрес символа отладчика в виртуальном адресном пространстве целевого объекта | Строка, содержащая имя указанного символа (и смещение, если таковое имеется), а также любые доступные сведения об исходной строке. |
[in] unnamedParam2
[arguments] — задает аргументы для строки формата, как в printf. Число указанных аргументов должно соответствовать количеству символов преобразования в FormatString. Каждый аргумент является выражением, которое будет вычисляться вычислителем выражений по умолчанию (MASM или C++). Дополнительные сведения см. в разделе Синтаксис числовых выражений.
Возвращаемое значение
None
Remarks
При создании очень больших выходных строк возможны ограничения подсистемы отладчика или операционной системы. Например, некоторые версии подсистемы отладчика имеют ограничение в 16 КБ символов для одного фрагмента выходных данных. Если вы обнаружите, что очень большие выходные данные усекаются, может потребоваться разделить выходные данные на несколько запросов.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | wdbgexts.h (включая Wdbgexts.h, Dbgeng.h) |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по