다음을 통해 공유


추적 세션

추적 세션추적 공급자가 추적 메시지를 생성하는 기간입니다. 시스템은 추적 로그 또는 추적 소비자에게 전달("플러시")될 때까지 추적 세션이 추적 메시지를 저장할 버퍼 집합을 유지 관리합니다.

추적 로그 세션, 실시간 추적 세션 및 버퍼링된 추적 세션의 세 가지 기본 추적 세션 유형이 있습니다. 단일 추적 세션은 추적 로그 세션, 실시간 추적 세션 또는 둘 다일 수 있습니다. 버퍼링된 추적 세션은 배타적입니다.

또한 NT 커널 로거 추적 세션 및 로그 세션 또는 실시간 세션으로 실행할 수 있는 전역 로거 추적 세션과 같은 프라이빗 추적 세션 및 예약된 추적 세션이 있습니다. 표준 도구를 사용하여 이러한 세션을 제어하고 결과 추적 메시지를 표시할 수 있습니다.

추적 로그 세션

추적 로그 세션에서 추적 메시지는 추적 버퍼에서 이진 형식의 로그 파일로 기록됩니다. 이것은 추적 세션의 표준 기본 유형입니다.

실시간 추적 세션

실시간 추적 세션에서 추적 메시지는 또는 외에도 추적 파일로 전송되는 대신 TraceView 또는 Tracefmt와 같은 추적 소비자에게 직접 전달됩니다.

버퍼링된 추적 세션

버퍼링된 추적 세션에서 추적 메시지는 추적 버퍼에 유지됩니다. 추적 로그에 기록되거나 추적 소비자에게 전달되지 않습니다. 버퍼는 원형 파일처럼 유지됩니다. 가득 차면 최신 추적 메시지가 버퍼에서 가장 오래된 추적 메시지를 덮어씁 수 있습니다.

버퍼링된 추적 세션은 Windows Vista 이상 버전의 Windows에서만 지원됩니다.

소프트웨어 추적은 일반적으로 오버헤드가 거의 없지만 버퍼링된 추적 세션은 모든 추적 세션 유형의 오버헤드가 가장 적습니다. 오랜 시간 동안 추적할 수 있으며 흥미로운 일이 발생하면 디버거를 사용하여 현재 버퍼 콘텐츠를 검사하거나 현재 버퍼 콘텐츠를 추적 로그에 저장할 수 있습니다.

추적 버퍼에서 추적 메시지를 보려면 !wmitrace 특수 디버거 확장을 사용합니다. 이 확장에 대한 자세한 내용은 Windows용 디버깅 도구를 참조하세요.

버퍼 콘텐츠를 추적 로그에 플러시하려면 tracelog -flush 명령의 -f 매개 변수를 사용합니다.

버퍼링된 추적 세션을 시작하려면 tracelog -start 명령의 -buffering 매개 변수를 사용합니다. 자세한 내용은 Tracelog 명령 구문을 참조하세요.

프라이빗 추적 세션

프라이빗 추적 세션은 추적하는 사용자 모드 프로세스의 일부로 사용자 모드에서 실행되는 추적 세션입니다. (표준 추적 세션은 커널에서 실행됩니다.) 프라이빗 추적 세션을 사용자 모드 추적 세션 또는 프로세스 추적 세션이라고도 합니다.

한 번에 둘 이상의 프라이빗 추적 세션을 실행할 수 있지만 각 프로세스에서 하나의 프라이빗 추적 세션만 실행할 수 있습니다.

프라이빗 추적 세션의 실시간 추적을 수행할 수 없습니다. 추적 메시지를 로그에 기록해야 합니다.

프라이빗 추적 세션에 사용되는 버퍼는 항상 페이지할 수 있습니다. 이러한 버퍼에 대해 페이징 또는 비페이징 메모리를 지정할 수 없습니다.

프라이빗 추적 세션에서 디버거로 추적 메시지를 보낼 수 없습니다. WMI 추적 확장(!wmitrace)은 프라이빗 추적 세션을 지원하지 않습니다.

프라이빗 이벤트 추적 세션에 대한 자세한 내용은 Microsoft Windows SDK 설명서를 참조하세요.