Tugas TraceWPP
Windows Driver Kit (WDK) menyediakan tugas TraceWPP sehingga Anda dapat menjalankan alat tracewpp.exe saat membangun driver menggunakan MSBuild. Alat tracewpp.exe digunakan untuk mengimplementasikan Pelacakan Perangkat Lunak WPP.
WppEnabled adalah metadata baru untuk item ClCompile yang memungkinkan pelacakan untuk file sumber. Tugas Wpp berjalan melalui seluruh Koleksi Item ClCompile dan memanggil tracewpp.exe untuk setiap Item tempat metadata WppEnabled diatur ke TRUE.
Metadata WppEnabled ditambahkan ke Item ClCompile karena tugas WPP berjalan pada jenis file input yang sama dengan tugas CL, dalam hal ini file .c, .cpp, dan .h.
Catatan Anda mengakses metadata Item untuk tracewpp dengan menggunakan item ClCompile dalam file proyek. MSBuild menggunakan item TraceWpp secara internal di dalam target untuk meneruskannya ke tugas.
Contoh berikut menunjukkan cara mengedit metadata dalam file .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>
Pemanggilan baris perintah adalah:
tracewpp.exe km /Ic:\test\b.c
tracewpp.exe dll test2.c
Contoh di atas menunjukkan bahwa MSBuild memanggil tracewpp.exe hanya pada b.c dan test2.c karena metadata WppEnabled diatur ke TRUE untuk input ini. Perhatikan juga bahwa metadata untuk kedua input ini berbeda. Oleh karena itu, sakelar juga akan berbeda untuk input ini. Dengan kata lain, Anda dapat memanggil setiap input dengan sekumpulan metadatanya sendiri.
Parameter Tugas WPP | Item Metadata | Sakelar Alat |
---|---|---|
Sumber
Parameter ITaskItem[] yang diperlukan. Menentukan daftar file sumber. |
@(TraceWpp) | |
AddAlternateNameToMessageGUID
Parameter string opsional. Menentukan nama bersahabat alternatif untuk PESAN GUID untuk pesan yang berasal dari penyedia pelacakan ini. |
%(TraceWpp.WppAddAlternateNameToMessageGUID) | -o:String |
AdditionalConfigurationFile
Parameter string opsional. Menentukan file konfigurasi tambahan. WPP menggunakan file yang ditentukan selain file default, defaultwpp.ini. |
%(TraceWpp.WppAdditionalConfigurationFile) | -ini:Path |
AdditionalIncludeDirectories
Parameter string[] opsional. Menambahkan direktori ke daftar direktori yang dicari WPP untuk menyertakan file. |
%(TraceWpp.WppAdditionalIncludeDirectories) | -I |
AlternateConfigurationFile
Parameter string opsional. Menentukan file konfigurasi alternatif. WPP menggunakan file ini alih-alih file defaultwpp.ini. |
%(TraceWpp.WppAlternateConfigurationFile) | -defwpp:Path |
GenerateUsingTemplateFile
Parameter string opsional. Untuk setiap file sumber yang diproses {}WPP dengan nama yang ditentukan antara kurung kurawal , WPP membuat file lain dengan ekstensi nama file yang ditentukan. |
%(TraceWpp.WppGenerateUsingTemplateFile) | -gen{File.tpl}*.ext |
MinimalRebuildFromTracking
Parameter Boolean opsional. Jika nilainya TRUE, WPP melakukan build inkremental terlacak. Jika tidak, WPP melakukan pembangunan ulang. |
%(TraceWpp.WppMinimalRebuildFromTracking) | |
NumericBaseForFormatStrings
Parameter int opsional. Menetapkan basis numerik untuk penomoran string format. |
%(TraceWpp.WppNumericBaseForFormatStrings) | -argbase:Number |
AddControlGUID
Parameter string opsional. Menentukan makro WPP_CONTROL_GUIDS dengan GUID kontrol dan entri WPP_DEFINE_BIT yang ditentukan bernama 'Kesalahan', 'Tidak Biasa', dan 'Kebisingan'. |
%(TraceWpp.WppAddControlGUID) | -ctl:GUID |
AdditionalOptions
Parameter string opsional. Daftar opsi baris perintah. |
%(TraceWpp.WppAdditionalOptions) | |
ConfigurationDirectories
Parameter string[] opsional. Menentukan lokasi file konfigurasi dan templat. |
%(TraceWpp.WppConfigurationDirectories) | -cfgdir:[Path] |
DllMacro
Parameter Boolean opsional. Menentukan makro WPP_DLL. |
%(TraceWpp.WppDllMacro) | -dll |
FileExtensions
Parameter string[] opsional. Menentukan jenis file yang dikenal WPP sebagai file sumber. WPP mengabaikan file dengan ekstensi nama file yang berbeda. |
%(TraceWpp.WppFileExtensions) | -ext:.ext1 [.ext2] |
IgnoreExclamationmarks
Parameter Boolean opsional. Mengarahkan WPP untuk mengabaikan tanda seru, juga dikenal sebagai 'shrieks,' yang digunakan dalam pemformatan kompleks, seperti %!timestamp!%. |
%(TraceWpp.WppIgnoreExclamationmarks) | -noshrieks |
KernelMode
Parameter Boolean opsional. Menentukan makro WPP_KERNEL_MODE, yang melacak komponen mode kernel. Secara default, hanya komponen mode pengguna yang dilacak. |
%(TraceWpp.WppKernelMode) | -Km |
OutputDirectory
Parameter string opsional. Menentukan direktori untuk file output yang dibuat WPP. |
%(TraceWpp.WppOutputDirectory) | -odir:Path |
PreprocessorDefinitions
Parameter string[] opsional. Tentukan simbol prapemrosesan untuk file sumber Anda. |
%(TraceWpp.WppPreprocessorDefinitions) | /D |
PreserveExtensions
Parameter string[] opsional. Mempertahankan ekstensi nama file yang ditentukan saat membuat file TMH. |
%(TraceWpp.WppPreserveExtensions) | -preserveext:ext1[,ext2] |
ScanConfigurationData
Parameter string opsional. Mencari data konfigurasi, seperti jenis data kustom, dalam file yang bukan file konfigurasi, serta dalam defaultwpp.ini. |
%(TraceWpp.WppScanConfigurationData) | -scan:File |
SearchString
Parameter string opsional. Mengarahkan WPP untuk mencari file sumber untuk string yang ditentukan untuk memulai pelacakan. |
%(TraceWpp.WppSearchString) | -lookfor:String |
ToolPath
Parameter string opsional. Memungkinkan Anda menentukan jalur lengkap ke folder tempat alat berada. |
$(WPPToolPath) | |
TraceFunction
Parameter string[] opsional. Menentukan fungsi yang kemudian dapat digunakan untuk menghasilkan pesan pelacakan. |
%(TraceWpp.WppTraceFunction) | -func:FunctionDescription |
TrackerLogDirectory
Parameter string opsional. Direktori log untuk pelacak untuk menulis tlog. |
%(TraceWpp.WppTrackerLogDirectory) | |
TrackFileAccess
Parameter Boolean opsional. Jika true, melacak pola akses file untuk tugas ini. |
$(TrackFileAccess) |