다음을 통해 공유


예제 7: 추적 메시지 접두사 사용자 지정

각 추적 메시지는 추적 메시지에 대한 데이터로 구성된 추적 메시지 접두사 로 시작합니다. 추적 메시지 접두사 형식은 %TRACE_FORMAT_PREFIX% 환경 변수에 저장됩니다. 환경 변수의 값을 변경하여 추적 메시지 접두사를 사용자 지정하여 추적 메시지에 필요한 데이터를 가장 유용한 형식으로 표시할 수 있습니다. 기본 추적 메시지 접두사에 있는 변수와 추적 메시지 접두사에서 사용할 수 있는 모든 변수는 추적 메시지 접두사 항목에 설명되어 있습니다.

다음 디스플레이에서는 기본 추적 메시지 접두사를 보여 있습니다. 추적 메시지는 WDK(Windows 드라이버 키트)의 추적 사용 샘플 드라이버인 Tracedrv에 의해 생성되었습니다.

[0]0AF4.0C64::07/25/2003-14:55:39.998 [tracedrv]IOCTL = 1
[0]0AF4.0C64::07/25/2003-14:55:39.998 [tracedrv]Hello, 1 Hi
[0]0AF4.0C64::07/25/2003-14:55:39.998 [tracedrv]Hello, 2 Hi
...

기본 접두사 형식은 다음과 같습니다.

[%9!d!]%8!04X!.%3!04X!::%4!s! [%1!s!]

다음 데이터를 나타냅니다.

[CPUNumber]ProcessID.ThreadID::SystemTime [MessageGUIDFriendlyName]

여기서 MessageGUIDFriendlyName은 기본적으로 추적 공급자가 빌드된 디렉터리의 이름입니다.

새 추적 메시지 접두사를 만들려면 set 명령을 사용하여 %TRACE_FORMAT_PREFIX% 환경 변수의 값을 다시 설정합니다. 예를 들면 다음과 같습니다.

set TRACE_FORMAT_PREFIX=%2!s!: %!FUNC!: %8!04x!.%3!04x!: %4!s!:

이 명령은 다음과 같은 형식의 추적 메시지 접두사를 설정합니다.

SourceFile_LineNumber: FunctionName: ProcessID.ThreadID: SystemTime 

결과적으로 Tracefmt 출력은 다음 표시와 같이 새 추적 메시지 접두사를 사용합니다.

tracedrv_c258: TracedrvDispatchDeviceControl: 0af4.0c64: 07/25/2003-13:55:39.998:  IOCTL = 1
tracedrv_c264: TracedrvDispatchDeviceControl: 0af4.0c64: 07/25/2003-13:55:39.998:  Hello, 1 Hi
tracedrv_c264: TracedrvDispatchDeviceControl: 0af4.0c64: 07/25/2003-13:55:39.998:  Hello, 2 Hi
tracedrv_c264: TracedrvDispatchDeviceControl: 0af4.0c64: 07/25/2003-13:55:39.998:  Hello, 3 Hi

...

참고 명령 또는 일괄 처리 파일에서 추적 접두사를 설정하는 경우 백분율 기호가 명령줄 매개 변수의 변수를 나타내는 경우 접두사 변수에 대해 연속 2%의 기호를 사용합니다. 예를 들어 시스템 시간을 접두사에 포함하려면 %%4를 입력합니다.