WPP 소프트웨어 추적
이 섹션에서는 Windows WPP( 소프트웨어 추적 전처리기 )를 사용하여 소프트웨어 구성 요소(추적 공급자)의 작업을 추적하는 방법을 설명합니다. 추적 공급자는 다음 중 하나일 수 있습니다.
커널 모드 드라이버입니다.
사용자 모드 드라이버, 애플리케이션 또는 DLL(동적 연결 라이브러리)입니다.
WPP 소프트웨어 추적은 추적 공급자의 추적 작업을 간소화하는 방법을 추가하여 WMI 이벤트 추적 을 보완하고 향상시킵니다. 추적 공급자가 실시간 이진 메시지를 기록하는 효율적인 메커니즘입니다. 로그된 메시지는 이후에 추적 공급자의 작업에서 사람이 읽을 수 있는 추적으로 변환될 수 있습니다.
WPP 소프트웨어 추적은 언제 사용해야 하나요? |
---|
WPP 소프트웨어 추적은 주로 개발 중에 코드를 디버깅하기 위한 것입니다. 개발 중 추적 외에도 구조화된 ETW 이벤트에 관심이 있는 애플리케이션에서 사용할 수 있는 이벤트를 게시하려면 다음을 사용합니다.
|
WPP 소프트웨어 추적을 사용하여 메시지 로깅은 Windows 이벤트 로깅 서비스를 사용하는 것과 비슷합니다. 드라이버는 로그 파일에 메시지 ID 및 서식이 지정되지 않은 이진 데이터를 기록합니다. 그 후처리기는 로그 파일의 정보를 사람이 읽을 수 있는 형식으로 변환합니다. 그러나 WPP 소프트웨어 추적은 이벤트 로깅 서비스에서 지원하는 것보다 더 유능하고 유연한 메시지 형식을 지원합니다. 예를 들어 WPP 소프트웨어 추적은 IP 주소, GUID, 시스템 ID, 타임스탬프 및 기타 유용한 데이터 형식을 기본적으로 지원합니다. 또한 사용자는 애플리케이션과 관련된 사용자 지정 데이터 형식을 추가할 수 있습니다.
WPP 소프트웨어 추적 프로세스 개요
드라이버 또는 애플리케이션에 WPP 소프트웨어 추적을 추가하는 기본 프로세스에는 다음 단계가 포함됩니다. WDF 드라이버를 만들기 위해 WDK에 제공된 Visual Studio 템플릿 중 하나를 사용하는 경우 대부분의 작업이 수행됩니다.
드라이버 또는 애플리케이션을 추적 공급자로 고유하게 식별하는 컨트롤 GUID를 정의합니다. 공급자는 WPP_CONTROL_GUIDS 매크로 정의 및 Tracelog 또는 다른 추적 컨트롤러에서 사용하는 관련 컨트롤 파일에서 이 GUID를 지정합니다.
Windows 드라이버에 WPP 소프트웨어 추적 추가 및 WPP 소프트웨어 추적 참조에 설명된 대로 필요한 WPP 관련 C 전처리기 지시문 및 WPP 매크로 호출을 공급자의 원본 파일에 추가합니다.
Windows 드라이버에 WPP 소프트웨어 추적 추가의 6단계 에 설명된 대로 WPP 전처리기를 실행하고 드라이버를 빌드하도록 Visual Studio 프로젝트를 수정합니다. 더 많은 빌드 시간 옵션은 WPP 전처리기를 참조할 수 있습니다.
드라이버 또는 구성 요소를 설치합니다. 추적 세션을 시작하고 추적 메시지를 기록합니다. TraceView, Tracelog, Tracefmt 및 Tracepdb와 같은 소프트웨어 추적 도구를 사용하여 추적 세션을 구성, 시작 및 중지하고 추적 메시지를 표시하고 필터링합니다. 이러한 도구는 WDK(Windows 드라이버 키트)에 포함되어 있습니다.
섹션 내용
- Windows 드라이버에 WPP 소프트웨어 추적 추가
- 추적 로깅을 위한 실행 중인 추적 레코더
- 추적 공급자에서 WPP 소프트웨어 추적 사용
- 추적 공급자에 WPP 매크로 추가
- WPP 전처리기
- WDF 드라이버에 대한 추적 및 진단 기능
참고 ETW(Windows용 이벤트 추적) 및 WPP는 대부분의 커널 모드 및 사용자 모드 드라이버를 지원합니다. 그러나 ETW 및 WPP는 미니포트 드라이버와 같은 특정 유형의 드라이버에 사용할 수 없는 형식을 사용합니다. 특정 드라이버 형식이 지원되는지 여부를 확인하려면 WPP_INIT_TRACING 및 WPP_CLEANUP 같은 기본 WPP 매크로를 드라이버에 추가합니다. 사용되는 형식이 정의되지 않아 코드가 컴파일되지 않으면 ETW 및 WPP는 드라이버 형식을 지원할 수 없습니다.
ETW에 대한 자세한 내용은 Windows용 이벤트 추적을 참조하세요.
참고 WPP 추적 공급자는 한 번에 하나의 추적 세션에서만 사용하도록 설정할 수 있습니다. 자세한 내용은 WPP 공급자를 참조하세요.
WPP 소프트웨어 추적을 지원하는 WMI 라이브러리 지원 루틴에 대한 자세한 내용은 다음을 참조하세요.