.Printf
Токен .printf работает так же, как и инструкция printf в C.
.printf [/D] [Option] "FormatString" [, Argument , ...]
Элементы синтаксиса
/D
Указывает, что строка формата содержит язык разметки отладчика (DML).
Параметр
(Только WinDbg) Указывает тип текстового сообщения, в котором WinDbg должен интерпретировать FormatString. WinDbg назначает каждому типу сообщения командного окна отладчика цвет фона и текста; При выборе одного из этих параметров сообщение будет отображаться соответствующими цветами. По умолчанию текст отображается в виде сообщения обычного уровня.
Доступны следующие варианты:
Параметр | Тип сообщения | Заголовок цветов в диалоговом окне "Параметры" |
---|---|---|
/Od |
отлаживаемый объект |
Командное окно уровня отладчика |
/Od |
Запрос отладчика |
Командное окно на уровне командной строки отладчика |
/Oe |
error |
Командное окно уровня ошибки |
/on |
нормальный |
Командное окно обычного уровня |
/op |
prompt |
Командное окно на уровне командной строки |
/Op |
регистры запросов |
Командное окно уровня регистрации запроса |
/Os |
символы |
Командное окно уровня сообщений символов |
/Ov |
verbose |
Командное окно подробного уровня |
/Ow |
warning |
Командное окно уровня предупреждений |
Formatstring
Задает строку формата, как в printf. Как правило, символы преобразования работают точно так же, как в C. Для символов преобразования с плавающей запятой 64-разрядный аргумент интерпретируется как 32-разрядное число с плавающей запятой, если не используется модификатор l .
Можно добавить модификатор "I64", чтобы указать, что значение должно интерпретироваться как 64-разрядные. Например, "%I64x" можно использовать для печати 64-разрядного шестнадцатеричного числа.
Символ преобразования %p поддерживается, но он представляет указатель в виртуальном адресном пространстве целевого объекта. Он не должен иметь модификаторов и использует внутреннее форматирование отладчика. В дополнение к стандартным описателям формата printf поддерживаются следующие дополнительные символы преобразования.
Знак | Тип аргумента | Аргумент | Печатный текст |
---|---|---|---|
%p |
ULONG64 |
Указатель в виртуальном адресном пространстве целевого объекта. |
Значение указателя. |
%N |
DWORD_PTR (32 или 64 бита в зависимости от архитектуры узла) |
Указатель в виртуальном адресном пространстве узла. |
Значение указателя. (Это эквивалентно стандартному символу C %p.) |
%ma |
ULONG64 |
Адрес строки ASCII, завершаемой null, в виртуальном адресном пространстве целевого объекта. |
Указанная строка. |
%mu |
ULONG64 |
Адрес строки Юникода, завершаемой значением NULL, в виртуальном адресном пространстве целевого объекта. |
Указанная строка. |
%msa |
ULONG64 |
Адрес структуры ANSI_STRING в виртуальном адресном пространстве целевого объекта. |
Указанная строка. |
%msu |
ULONG64 |
Адрес структуры UNICODE_STRING в виртуальном адресном пространстве целевого объекта. |
Указанная строка. |
%y |
ULONG64 |
Адрес символа отладчика в виртуальном адресном пространстве целевого объекта. |
Строка, содержащая имя указанного символа (и смещение, если таковое имеется). |
%ly |
ULONG64 |
Адрес символа отладчика в виртуальном адресном пространстве целевого объекта. |
Строка, содержащая имя указанного символа (и смещение, если таковое имеется), а также любые доступные сведения об исходной строке. |
Аргументы
Задает аргументы для строки формата, как в printf. Число указанных аргументов должно соответствовать количеству символов преобразования в FormatString. Каждый аргумент является выражением, которое будет вычисляться вычислителем выражений по умолчанию (MASM или C++). Дополнительные сведения см. в разделе Синтаксис числовых выражений.
Дополнительные сведения
Сведения о других маркерах потока управления и их использовании в программах команд отладчика см. в разделе Использование командных программ отладчика.
Комментарии
Параметры цвета, которые можно выбрать с помощью параметра Параметры , по умолчанию имеют черный текст на белом фоне. Для оптимального использования этих параметров необходимо сначала использовать вид | Параметры для открытия диалогового окна Параметры и изменения параметров цвета для сообщений окна команд отладчика.
В следующем примере показано, как включить тег DML в строку формата.
.printf /D "Click <link cmd=\".chain /D\">here</link> to see extensions DLLs."
Выходные данные, показанные на предыдущем рисунке, имеют ссылку, которую можно щелкнуть, чтобы выполнить команду, указанную в теге <link>
. На следующем рисунке показан результат щелчка по ссылке.
Сведения о тегах DML см. в разделе dml.doc в папке установки средства отладки для Windows.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по