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


TraceWPP task

Пакет драйверов Windows (WDK) предоставляет задачу TraceWPP, чтобы запустить средство tracewpp.exe при сборке драйвера с помощью MSBuild. Средство tracewpp.exe используется для реализации трассировки программного обеспечения WPP.

WppEnabled — это новые метаданные для элемента ClCompile, который обеспечивает трассировку исходных файлов. The Wpp task runs through the entire ClCompile Item Collections and invokes tracewpp.exe for each Item for which the WppEnabled metadata is set to TRUE.

Метаданные WppEnabled были добавлены в элемент ClCompile, так как задача WPP выполняется в том же типе входных файлов, что и задача CL, в данном случае C, .cpp и H-файлы.

Note You access the Item metadata for tracewpp by using the ClCompile item in project files. MSBuild использует элемент TraceWpp внутри целевого объекта, чтобы передать его задаче.

В следующем примере показано, как изменить метаданные в файле .vcxproj.

<ItemGroup>
    <ClCompile Include="a.c" />
      <WppEnabled>false</WppEnabled>
    <ClCompile Include="b.c">
        <WppEnabled>true</WppEnabled>
        <WppKernelMode>true</WppKernelMode>
        <WppAdditionalIncludeDirectories>c:\test\</WppAdditionalIncludeDirectories>
    </ClCompile>
    <ClCompile Include="test1.c" />
    <ClCompile Include="test2.c">
        <WppEnabled>true</WppEnabled>
        <WppDllMacro>true</WppDllMacro>
    </ClCompile>
</ItemGroup>

Вызов командной строки будет следующим:

tracewpp.exe  km /Ic:\test\b.c
tracewpp.exe  dll test2.c

The example above shows that MSBuild invokes tracewpp.exe only on b.c and test2.c because the WppEnabled metadata is set to TRUE for these inputs. Кроме того, обратите внимание, что метаданные этих двух входных данных отличаются. Поэтому коммутаторы также будут отличаться для этих входных данных. Другими словами, можно вызывать каждый вход с собственным набором метаданных.

Параметр задачи WPP Item Metadata Tool Switch
Sources

Обязательный параметр ITaskItem[] . Указывает список исходных файлов.

@(TraceWpp)
AddAlternateNameToMessageGUID

Необязательный строковый параметр. Задает альтернативное понятное имя guid сообщения для сообщений, поступающих от этого поставщика трассировки.

%(TraceWpp.WppAddAlternateNameToMessageGUID) -o:String
AdditionalConfigurationFile

Необязательный строковый параметр. Указывает дополнительный файл конфигурации. WPP использует указанный файл в дополнение к файлу по умолчанию, defaultwpp.ini.

%(TraceWpp.WppAdditionalConfigurationFile) -ini:Path
AdditionalIncludeDirectories

Необязательный параметр string[] Добавляет каталог в список каталогов, которые WPP ищет включаемые файлы.

%(TraceWpp.WppAdditionalIncludeDirectories) -I
AlternateConfigurationFile

Необязательный строковый параметр. Задает альтернативный файл конфигурации. WPP использует этот файл вместо файла defaultwpp.ini.

%(TraceWpp.WppAlternateConfigurationFile) -defwpp:Path
GenerateUsingTemplateFile

Необязательный строковый параметр. Для каждого исходного файла, который WPP обрабатывает с именем, указанным между фигурными скобками {}, WPP создает другой файл с указанным расширением имени файла.

%(TraceWpp.WppGenerateUsingTemplateFile) -gen{File.tpl}*.ext
MinimalRebuildFromTracking

Необязательный логический параметр. If the value is TRUE, WPP performs a tracked incremental build. В противном случае WPP выполняет перестроение.

%(TraceWpp.WppMinimalRebuildFromTracking)
NumericBaseForFormatStrings

Необязательный параметр int. Устанавливает числовую базу для нумерирования строк форматирования.

%(TraceWpp.WppNumericBaseForFormatStrings) -argbase:Number
AddControlGUID

Необязательный строковый параметр. Определяет макрос WPP_CONTROL_GUIDS с указанным GUID элемента управления и WPP_DEFINE_BIT записи с именем Error, Unusual и Noise.

%(TraceWpp.WppAddControlGUID) -ctl:GUID
AdditionalOptions

Необязательный строковый параметр. Список параметров командной строки.

%(TraceWpp.WppAdditionalOptions)
ConfigurationDirectories

Необязательный параметр string[] Указывает расположение файлов конфигурации и шаблонов.

%(TraceWpp.WppConfigurationDirectories) -cfgdir:[Path]
DllMacro

Необязательный логический параметр. Определяет макрос WPP_DLL.

%(TraceWpp.WppDllMacro) -dll
FileExtensions

Необязательный параметр string[] Указывает типы файлов, которые WPP распознает как исходные файлы. WPP игнорирует файлы с другим расширением имени файла.

%(TraceWpp.WppFileExtensions) -ext:.ext1 [.ext2]
IgnoreExclamationmarks

Необязательный логический параметр. Направляет WPP игнорировать восклицательные знаки, также известные как "креветки", используемые в сложном форматировании, например %!timestamp!%.

%(TraceWpp.WppIgnoreExclamationmarks) -noshrieks
KernelMode

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

%(TraceWpp.WppKernelMode) -km
OutputDirectory

Необязательный строковый параметр. Указывает каталог для выходных файлов, создаваемых WPP.

%(TraceWpp.WppOutputDirectory) -odir:Path
PreprocessorDefinitions

Необязательный параметр string[] Определяет символ предварительной обработки исходного файла.

%(TraceWpp.WppPreprocessorDefinitions) /D
PreserveExtensions

Необязательный параметр string[] Сохраняет указанные расширения имен файлов при создании файлов TMH.

%(TraceWpp.WppPreserveExtensions) -preserveext:ext1[,ext2]
ScanConfigurationData

Необязательный строковый параметр. Выполняет поиск данных конфигурации, таких как пользовательские типы данных, в файле, который не является файлом конфигурации, а также в defaultwpp.ini.

%(TraceWpp.WppScanConfigurationData) -scan:File
SearchString

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

%(TraceWpp.WppSearchString) -lookfor:String
ToolPath

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

$(WPPToolPath)
TraceFunction

Необязательный параметр string[] Указывает функции, которые затем можно использовать для создания сообщений трассировки.

%(TraceWpp.WppTraceFunction) -func:FunctionDescription
TrackerLogDirectory

Необязательный строковый параметр. Каталог журналов для отслеживания для записи журналов.

%(TraceWpp.WppTrackerLogDirectory)
TrackFileAccess

Необязательный логический параметр. Если значение true, отслеживает шаблоны доступа к файлам для этой задачи.

$(TrackFileAccess)

WPP Preprocessor

Трассировка программного обеспечения WPP