Включение номера исходной строки в префикс сообщения трассировки
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. Настройка префикса сообщения трассировки. Список всех предопределенных переменных, которые могут отображаться в префиксе сообщения трассировки, см. в разделе Префикс сообщения трассировки.