TraceWPP タスク

Windows Driver Kit (WDK) には TraceWPP タスクが用意されているため、MSBuild を使用してドライバーをビルドするときに tracewpp.exe ツールを実行できます。 tracewpp.exe ツールは、WPP ソフトウェア トレースを実装するために使用されます。

WppEnabled は、ソース ファイルのトレースを有効にする ClCompile 項目の新しいメタデータです。 Wpp タスクは ClCompile 項目コレクション全体を実行し、WppEnabled メタデータが TRUE に設定されている各項目に対してtracewpp.exeを呼び出します。

WPP タスクは CL タスクと同じ種類の入力ファイル (この場合は .c、.cpp、.h) で実行されるため、WppEnabled メタデータが ClCompile Item に追加されました。

注: tracewpp の項目メタデータには、プロジェクト ファイルの ClCompile 項目を使用してアクセスします。 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

上記の例は、WppEnabled メタデータがこれらの入力に対して TRUE に設定されているため、MSBuild が b.c と test2.c でのみ tracewpp.exe を呼び出していることを示しています。 また、これら 2 つの入力のメタデータは異なっています。 そのため、これらの入力ではスイッチも異なります。 つまり、各入力を独自のメタデータ セットで呼び出すことができます。

WPP タスク パラメーター: 項目メタデータ ツール スイッチ
Sources

必須の ITaskItem[] 型のパラメーターです。 ソース・ファイルのリストを指定します。

@(TraceWpp)
AddAlternateNameToMessageGUID

省略可能な string 型のパラメーターです。 この トレース プロバイダーからびメッセージの メッセージ GUID の代替フレンドリ名を指定します。

%(TraceWpp.WppAddAlternateNameToMessageGUID) -o:String
AdditionalConfigurationFile

省略可能な string 型のパラメーターです。 追加の構成ファイルを指定します。 WPP では、既定のファイルdefaultwpp.iniに加えて、指定したファイルが使用されます。

%(TraceWpp.WppAdditionalConfigurationFile) -ini:Path
AdditionalIncludeDirectories

省略可能な string[] 型のパラメーターです。 WPP が検索するインクルード ファイルを検索するディレクトリのリストにディレクトリを追加します。

%(TraceWpp.WppAdditionalIncludeDirectories) -I
AlternateConfigurationFile

省略可能な string 型のパラメーターです。 代替構成ファイルを指定します。 WPP では、defaultwpp.ini ファイルの代わりにこのファイルが使用されます。

%(TraceWpp.WppAlternateConfigurationFile) -defwpp:Path
GenerateUsingTemplateFile

省略可能な string 型のパラメーターです。 WPP が中かっこ {}の間に指定された名前で処理するすべてのソース ファイルに対して、WPP が指定したファイル名拡張子を持つ別のファイルを作成します。

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

省略可能な Boolean 型のパラメーターです。 値が TRUE の場合、WPP は追跡された増分ビルドを実行します。 それ以外の場合、WPP は再構築を実行します。

%(TraceWpp.WppMinimalRebuildFromTracking)
NumericBaseForFormatStrings

省略可能な int 型のパラメーターです。 書式指定文字列の番号付けの数値ベースを確立します。

%(TraceWpp.WppNumericBaseForFormatStrings) -argbase:Number
AddControlGUID

省略可能な string 型のパラメーターです。 指定した コントロール GUID と 'Error'、'Unusual'、'Noise' という名前のWPP_DEFINE_BITエントリを使用して、 WPP_CONTROL_GUIDS マクロを定義します。

%(TraceWpp.WppAddControlGUID) -ctl:GUID
AdditionalOptions

省略可能な string 型のパラメーターです。 コマンド ライン オプションのリスト。

%(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 型のパラメーターです。 %!timestamp!% などの複雑な書式設定で使用される感嘆符 ("シュリーク" とも呼ばれます) を無視するように WPP に指示します。

%(TraceWpp.WppIgnoreExclamationmarks) -noshrieks
KernelMode

省略可能な Boolean 型のパラメーターです。 カーネル モード コンポーネントをトレースするWPP_KERNEL_MODE マクロを定義します。 既定では、ユーザー モード コンポーネントのみがトレースされます。

%(TraceWpp.WppKernelMode) -km
OutputDirectory

省略可能な string 型のパラメーターです。 WPPが作成する出力ファイルのディレクトリを指定します。

%(TraceWpp.WppOutputDirectory) -odir:Path
PreprocessorDefinitions

省略可能な string[] 型のパラメーターです。 ソース ファイルの前処理シンボルを定義します。

%(TraceWpp.WppPreprocessorDefinitions) /D
PreserveExtensions

省略可能な string[] 型のパラメーターです。 TMH ファイルの作成時に、指定したファイル名拡張子を保持します。

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

省略可能な string 型のパラメーターです。 カスタム データ型などの構成データを、構成ファイルではないファイルとdefaultwpp.iniで検索します。

%(TraceWpp.WppScanConfigurationData) -scan:File
SearchString

省略可能な string 型のパラメーターです。 トレースを開始するために、指定された文字列のソース ファイルを検索するように WPP に指示します。

%(TraceWpp.WppSearchString) -lookfor:String
ToolPath

省略可能な string 型のパラメーターです。 ツールが配置されているフォルダーへの完全なパスを指定できます。

$(WPPToolPath)
TraceFunction

省略可能な string[] 型のパラメーターです。 トレース メッセージ生成に用いることができる関数を指定します。

%(TraceWpp.WppTraceFunction) -func:FunctionDescription
TrackerLogDirectory

省略可能な string 型のパラメーターです。 トラッカーが tlog を書き込むためのログ ディレクトリ。

%(TraceWpp.WppTrackerLogDirectory)
TrackFileAccess

省略可能な Boolean 型のパラメーターです。 true の場合、このタスクのファイル アクセス パターンを追跡します。

$(TrackFileAccess)

WPP プリプロセッサ

WPP ソフトウェア トレース