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


Включение номера исходной строки в префикс сообщения трассировки

WPP автоматически записывает данные о каждом сообщении трассировки, большая часть которых не отображается по умолчанию. Эти данные включают имя функции, имя файла, номер строки источника, имя компонента, имя подкомпонента и уровень трассировки сообщения трассировки.

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

Например, чтобы добавить имя компонента, имя функции, имя файла и номер строки в префикс сообщения трассировки, добавьте следующие переменные к значению %TRACE_FORMAT_PREFIX%:

Переменная Описание
%! COMPNAME! Добавляет имя компонента.
%! FUNC! Добавляет имя функции.
%2 Добавляет имя исходного файла и номер строки инструкции трассировки.

Переменная %2 возвращает следующую строку:

filename_NNN

где точка (.) в имени файла заменяется символом подчеркивания (_), а NNN — номером строки.

В следующем примере инструкции SET добавляется %! COMPNAME, %! FUNC! и %2 переменных со значением по умолчанию %TRACE_FORMAT_PREFIX%. Вложенный параметр !s! указывает, что значение %2 форматируется как строка. Добавленные переменные отображаются полужирным шрифтом.

set TRACE\_FORMAT\_PREFIX="\[%9!d!\]%8!04X!.%3!04X!::%4!s! \[%1!s!\](**%!COMPNAME!**:**%!FUNC!**:**%2**!s!)"

Полученный префикс имеет следующий формат. Новые элементы отображаются в круглых скобках.

[CPUNumber] ProcessID. ThreadID::SystemTime [MessageGUIDFriendlyName](ComponentName:FunctionName:Filename_LineNumber)

Подробный пример см. в разделе Пример 7. Настройка префикса сообщения трассировки. Список всех предопределенных переменных, которые могут отображаться в префиксе сообщения трассировки, см. в разделе Префикс сообщения трассировки.