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


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

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.

%2

строка

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

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

%3

ULONG

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

Идентифицирует поток, создающий сообщение трассировки.

%4

строка

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

%5

строка

Время ядра.

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

%6

строка

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

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

%7

LONG

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

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

%8

ULONG

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

Идентифицирует процесс, создающий сообщение трассировки.

%9

ULONG

Номер ЦП.

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

%! FUNC!

строка

Имя функции.

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

%! ФЛАГИ!

строка

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

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

%! УРОВЕНЬ!

строка

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

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

%! COMPNAME!

строка

Название компонента.

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

%! SUBCOMP!

строка

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

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

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

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

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

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