Префикс сообщения трассировки
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 .