TraceWPP 작업
WDK(Windows 드라이버 키트)는 MSBuild를 사용하여 드라이버를 빌드할 때 tracewpp.exe 도구를 실행할 수 있도록 TraceWPP 작업을 제공합니다. tracewpp.exe 도구는 WPP 소프트웨어 추적을 구현하는 데 사용됩니다.
WppEnabled는 원본 파일에 대한 추적을 사용하도록 설정하는 ClCompile 항목에 대한 새 메타데이터입니다. Wpp 작업은 전체 ClCompile 항목 컬렉션을 통해 실행되며 WppEnabled 메타데이터가 TRUE로 설정된 각 항목에 대해 tracewpp.exe 호출합니다.
WPP 태스크가 CL 태스크와 동일한 형식의 입력 파일(이 경우 .c, .cpp 및 .h 파일)에서 실행되므로 WppEnabled 메타데이터가 ClCompile 항목에 추가되었습니다.
참고 프로젝트 파일에서 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
위의 예제에서는 이러한 입력에 대해 WppEnabled 메타데이터가 TRUE로 설정되었기 때문에 MSBuild가 b.c 및 test2.c 에서만tracewpp.exe 호출하는 것을 보여 줍니다. 또한 이러한 두 입력에 대한 메타데이터는 서로 다릅니다. 따라서 스위치는 이러한 입력에 대해서도 다릅니다. 즉, 고유한 메타데이터 집합을 사용하여 각 입력을 호출할 수 있습니다.
WPP 작업 매개 변수 | 항목 메타데이터 | 도구 스위치 |
---|---|---|
Sources
필수 ITaskItem[] 매개 변수입니다. 원본 파일 목록을 지정합니다. |
@(TraceWpp) | |
AddAlternateNameToMessageGUID
선택적 string 매개 변수입니다. 이 추적 공급자에서 온 메시지의 메시지 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
선택적 부울 매개 변수입니다. 값이 TRUE이면 WPP는 추적된 증분 빌드를 수행합니다. 그렇지 않으면 WPP가 다시 빌드를 수행합니다. |
%(TraceWpp.WppMinimalRebuildFromTracking) | |
NumericBaseForFormatStrings
선택적 int 매개 변수입니다. 형식 문자열의 번호 매기기를 위한 숫자 베이스를 설정합니다. |
%(TraceWpp.WppNumericBaseForFormatStrings) | -argbase:Number |
AddControlGUID
선택적 string 매개 변수입니다. 지정된 컨트롤 GUID를 사용하여 WPP_CONTROL_GUIDS 매크로를 정의하고 'Error', 'Unusual' 및 'Noise'라는 WPP_DEFINE_BIT 항목을 정의합니다. |
%(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 |
공구 경로
선택적 문자열 매개 변수입니다. 도구가 있는 폴더의 전체 경로를 지정할 수 있습니다. |
$(WPPToolPath) | |
TraceFunction
선택적 string[] 매개 변수입니다. 그런 다음 추적 메시지를 생성하는 데 사용할 수 있는 함수를 지정합니다. |
%(TraceWpp.WppTraceFunction) | -func:FunctionDescription |
TrackerLogDirectory
선택적 string 매개 변수입니다. tlog를 작성할 추적기용 로그 디렉터리입니다. |
%(TraceWpp.WppTrackerLogDirectory) | |
TrackFileAccess
선택적 부울 매개 변수입니다. true이면 이 작업에 대한 파일 액세스 패턴을 추적합니다. |
$(TrackFileAccess) |