WPP 문서화를 통해 "Windows 용 이벤트 추적"을 사용하려고합니다. Getting Started with Software Tracing in Windows Drivers의 설명서를 보면 단일 드라이버에서 여러 공급자에게 추적을 발행 할 수 있지만 그 예는 없습니다.WPP를 사용하여 여러 ETW 공급자 추적
드라이버는 하나 이상의 제어 GUID를 지정할 수 있습니다. 각 컨트롤 GUID는 고유 한 공급자를 식별합니다. 예를 들어, 드라이버가 공유 라이브러리 용과 드라이버 용의 두 가지 제어 GUID를 정의하면 라이브러리와 드라이버를 서로 다른 두 공급자로 사용할 수 있습니다. 라이브러리 또는 드라이버 또는 둘 다에 대해 추적을 사용할 수 있습니다.
두 개의 헤더 파일을 만들려고했습니다. 각각 다른 GUID를 사용하여 WPP_CONTROL_GUIDS
입니다. 그런 다음 다른 제공자에게 추적을 발행 할 것으로 예상되는 c/cpp 파일의 다른 헤더 파일을 포함시킵니다. 하지만 주 파일의 정의가이 분리를 덮어 쓰고 모든 흔적이이 파일에 사용 된 공급자에게 도착한 것 같습니다 ...
어떤 제안이 있습니까? 어떤 표본? 감사!!
감사! 여기서 누락 된 부분은 추적 할 때 어떤 control-guid를 사용할 지 선택하는 것입니다 (샘플에서 HiFreq 대 정규식). 겹치지 않는 플래그 집합을 사용하고 추적 매크로에 특정 플래그를 지정하면됩니다. 또는 어떻게 든 직접 사용되는 것을 지정합니까? –
제 이해는 중복되지 않는 플래그를 사용한다는 것입니다. 생성 된 trace 문은 플래그 (및 선택적으로 레벨)를 취합니다. 배후의 마술은 플래그를 기반으로 적절한 컨트롤 GUID에 메시지를 기록하는 작업을 수행해야합니다. – snoone
@snoone, 요즘 WPP 추적에 대한 당신의 견해는 무엇입니까? Windows 8.1에 대한 내 경험에 근거하여 WPP 추적이 꽤 잘되었습니다. –