다음을 통해 공유


KMDF 드라이버에서 WPP 소프트웨어 추적 사용

WPP 소프트웨어 추적 을 사용하면 드라이버를 디버그하는 데 도움이 되는 추적 메시지를 추가할 수 있습니다. 또한 프레임워크의 이벤트 로거는 볼 수 있는 수백 개의 추적 메시지를 제공합니다.

TraceView 또는 Tracelog를 사용하여 추적 메시지를 볼 수 있습니다. 커널 디버거에 추적 메시지를 보낼 수도 있습니다.

드라이버에 추적 메시지 추가

프레임워크 기반 드라이버에 추적 메시지를 추가하려면 다음을 수행해야 합니다.

  • WPP 매크로가 포함된 각 드라이버의 원본 파일에 #include 지시문을 추가합니다. 이 지시문은 TMH(추적 메시지 헤더) 파일을 식별해야 합니다. 파일 이름은 driver-source-file-name.tmh> 형식 < 이어야 합니다.

    예를 들어 드라이버가 MyDriver1.c 및 MyDriver2.c라는 두 개의 원본 파일로 구성된 경우 MyDriver1.c에는 다음이 포함되어야 합니다.

    #include "MyDriver1.tmh"

    MyDriver2.c 에는 다음이 포함되어야 합니다.

    #include "MyDriver2.tmh"

    Microsoft Visual Studio에서 드라이버를 빌드할 때 WPP 전처리기에서 을 생성합니다. tmh 파일.

  • 헤더 파일에서 WPP_CONTROL_GUIDS 매크로를 정의합니다. 이 매크로는 드라이버 추적 메시지에 대한 GUID 및 추적 플래그 를 정의합니다.

  • 드라이버의 DriverEntry 루틴WPP_INIT_TRACING 매크로를 포함합니다. 이 매크로는 드라이버에서 소프트웨어 추적을 활성화합니다.

  • 드라이버의 EvtDriverUnload 콜백 함수에 WPP_CLEANUP 매크로를 포함합니다. 이 매크로는 드라이버에서 소프트웨어 추적을 비활성화합니다.

  • 드라이버에서 DoTraceMessage 매크로 또는 사용자 지정된 버전의 매크로를 사용하여 추적 메시지를 만듭니다.

  • 드라이버 프로젝트의 속성 페이지를 엽니다. 솔루션 탐색기 드라이버 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 드라이버의 속성 페이지에서 구성 속성을 클릭한 다음 Wpp 추적을 클릭합니다. 일반 메뉴에서 WPP 추적 실행을 예로 설정합니다. 파일 옵션 메뉴에서 프레임워크의 WPP 템플릿 파일도 지정해야 합니다. 예를 들면 다음과 같습니다.

    {km-WdfDefault.tpl}*.tmh
    
  • Visual Studio에서 드라이버 프로젝트에 대한 추가 WPP 추적 설정을 지정하려면 솔루션 Explorer 드라이버 프로젝트를 마우스 오른쪽 단추로 클릭합니다. 그런 다음 Properties-Configuration Properties-WPP>> 추적에 대한 링크를 따릅니다.

  • 추적 구성 파일을 지정하려면 '구성 데이터 검사' 설정을 사용합니다. 둘 이상의 추적 구성 파일의 경우 다음과 같이 '명령줄'-> '추가 옵션' 아래에 추가합니다.

    -scan:"$(KMDF_INC_PATH)\$(KMDF_VER_PATH)\wdftraceenums.h"
    

    드라이버에 추적 메시지를 추가하는 방법에 대한 자세한 내용은 드라이버에 WPP 매크로 추가를 참조하세요.

WPP 소프트웨어 추적을 사용하는 샘플 드라이버

AMCC5933, NONPNP, KMDF_FX2, PCIDRV, PLX9x5x 및 직렬 샘플 드라이버는 WPP 소프트웨어 추적을 사용합니다.