다음을 통해 공유


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)

WPP 전처리기

WPP 소프트웨어 추적