TraceWPP 工作

Windows 驅動程式套件 (WDK) 提供 TraceWPP 工作,以便在您使用 MSBuild 建置驅動程式時執行 tracewpp.exe 工具。 tracewpp.exe 工具可用來實作 WPP 軟體追蹤

WppEnabled 是 ClCompile 專案的新元數據,可追蹤來源檔案。 Wpp 工作會透過整個 ClCompile 專案集合執行,並針對 WppEnabled 元數據設定為 TRUE 的每個專案叫用 tracewpp.exe。

WppEnabled 元數據已新增至 ClCompile Item,因為 WPP 工作會在與 CL 工作相同的輸入檔類型上執行,在此案例中為 .c、.cpp 和 .h 檔案。

注意 您可以使用項目檔中的 ClCompile 專案來存取 tracewpp 的項目元數據。 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

上述範例顯示 MSBuild 只會在 b.c 和 test2.c 上叫用 tracewpp.exe ,因為 WppEnabled 元數據會針對這些輸入設定為 TRUE 。 另請注意,這兩個輸入的元數據不同。 因此,這些輸入的參數也會不同。 換句話說,您可以使用自己的元數據集來呼叫每個輸入。

WPP 工作參數 項目中繼資料 工具切換
來源

需要 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

選擇性的 Boolean 參數。 如果值為 TRUE,WPP 會執行追蹤的累加建置。 否則,WPP 會執行重建。

% (TraceWpp.WppMinimalRebuildFromTracking)
NumericBaseForFormatStrings

選擇性的 int 參數。 建立格式字串編號的數值基底。

% (TraceWpp.WppNumericBaseForFormatStrings) -argbase:Number
AddControlGUID

選擇性字串參數。 使用指定的控件 GUID 定義WPP_CONTROL_GUIDS宏,並WPP_DEFINE_BIT名為 'Error'、'Unusual' 和 'Noise' 的專案。

% (TraceWpp.WppAddControlGUID) -ctl:GUID
AdditionalOptions

選擇性字串參數。 命令列選項清單。

% (TraceWpp.WppAdditionalOptions)
ConfigurationDirectories

選擇性 string[] 參數。 指定組態和範本檔案的位置。

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

選擇性的 Boolean 參數。 定義WPP_DLL宏。

% (TraceWpp.WppDllMacro) -Dll
FileExtensions

選擇性 string[] 參數。 指定 WPP 辨識為來源檔案的檔案類型。 WPP 會忽略擴展名不同的檔案。

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

選擇性的 Boolean 參數。 指示 WPP 忽略驚嘆號,也稱為「shrieks」,用於複雜的格式設定,例如 %!timestamp!%。

% (TraceWpp.WppIgnoreExclamationmarks) -noshrieks
KernelMode

選擇性的 Boolean 參數。 定義追蹤核心模式元件的WPP_KERNEL_MODE宏。 根據預設,只會追蹤使用者模式元件。

% (TraceWpp.WppKernelMode) -公里
OutputDirectory

選擇性字串參數。 指定 WPP 所建立輸出檔案的目錄。

% (TraceWpp.WppOutputDirectory) -odir:Path
PreprocessorDefinitions

選擇性 string[] 參數。 為原始程式檔定義前置處理符號。

% (TraceWpp.WppPreprocessorDefinitions) /D
PreserveExtensions

選擇性 string[] 參數。 建立T 檔案時,保留指定的擴展名。

% (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

選擇性字串參數。 用於寫入 tlog 的追蹤器記錄目錄。

% (TraceWpp.WppTrackerLogDirectory)
TrackFileAccess

選擇性的 Boolean 參數。 如果為 true,則會追蹤這項工作的檔案存取模式。

$ (TrackFileAccess)

WPP 預處理器

WPP 軟體追蹤