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


Префикс сообщения трассировки

Tracefmt добавляет префикс в каждое сообщение трассировки, состоящее из данных, хранящихся в файле журнала трассировки событий (ETL) и файле формата сообщения трассировки (.tmf).

Tracefmt включает определенные элементы данных по умолчанию, но пользователи могут добавлять и удалять элементы, изменяя переменную среды %TRACE_FORMAT_PREFIX%, строку, указывающую определение сообщения, совместимое с FormatMessage.

Формат префикса сообщения трассировки по умолчанию выглядит следующим образом:

[%9!d!]%8!04X!.%3!04X!::%4!s! [%1!s!]

который создает следующий префикс:

[CPUNumber]ProcessID.ThreadID :: SystemTime [MessageGUIDFriendlyName]

Каждая переменная %n представляет параметр, описанный в следующей таблице.

Идентификатор переменной префикса Тип переменной Описание

%1

струна

Дружественное имя для GUID сообщения в трассировочном сообщении. По умолчанию понятное имя GUID сообщения — это имя каталога, в котором был создан поставщик трассировки .

Чтобы изменить понятное имя GUID сообщения, используйте параметр -p с Tracewpp или макросом RUN_WPP. Дополнительные сведения см. в разделе Run_WPP Options.

%2

струна

Исходный файл и номер строки.

Эта переменная представляет удобочитаемое имя сообщения трассировки. По умолчанию понятное имя сообщения трассировки — это имя исходного файла и номер строки кода, создающего сообщение трассировки.

%3

ULONG

Идентификатор потока.

Определяет поток, создающий сообщение трассировки.

%4

струна

Метка времени создания сообщения трассировки.

%5

струна

Время ядра.

Отображает истекшее время выполнения инструкции в режиме ядра процессора в тактах ЦП на момент создания сообщения трассировки.

%6

струна

Время пользователя.

Отображает продолжительность выполнения инструкции в пользовательском режиме в тиках ЦП на момент создания сообщения трассировки.

%7

ДЛИННЫЙ

Порядковый номер.

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

%8

ULONG

Идентификатор процесса.

Определяет процесс, создающий сообщение трассировки.

%9

ULONG

Номер ЦП.

Определяет ЦП, на котором было создано сообщение трассировки.

%!FUNC!

струна

Имя функции.

Отображает имя функции, сгенерировавшей сообщение трассировки.

%!ФЛАГИ!

струна

Отображает название флагов трассировки, которые включают сообщение трассировки.

(Так как макрос DoTraceMessage изменяет аргументы флагов и уровней, сообщения, созданные DoTraceMessage, отображают значение уровня трассировки в этом поле.)

%!УРОВЕНЬ!

струна

Отображает значение уровня трассировки, которое активирует сообщение трассировки.

(Так как макрос DoTraceMessage изменяет аргументы флагов и уровней, сообщения, созданные DoTraceMessage, отображают имя флагов трассировки в этом поле.)

%!COMPNAME!

струна

Имя компонента.

Отображает имя компонента поставщика, сформировавшего сообщение трассировки. Имя компонента отображается только в том случае, если он указан в коде трассировки.

%!SUBCOMP!

струна

Подкомпонентное имя.

Отображает имя подкомпонента поставщика, сгенерировавшего сообщение трассировки. Имя компонента отображается только в том случае, если он указан в коде трассировки.

Символ в восклицательных знаках — это символ преобразования, указывающий форматирование и точность переменной. Например, %8!04X! указывает идентификатор процесса, представленный как четырехзначное шестнадцатеричное число без знака. Эти символы для преобразования должны быть включены.

Чтобы изменить элементы, порядок или форматирование префикса сообщения трассировки, используйте переменную среды %TRACE_FORMAT_PREFIX%. См. пример в Примере 7: Настройка префикса сообщения трассировки.

Пример содержимого в файле TMF см. в разделе "Форматирование сообщений трассировки" на примере tracedrv.

Кроме того, параметр -csv добавляет неконфигурируемый подробный префикс в каждое сообщение трассировки до стандартного префикса Tracefmt. Для описания полей префикса CSV используйте параметр -csvheader .