VSS에서 추적 도구 사용

VSS 인프라에 대한 추적 정보를 수집하려면 VssTrace 도구, Logman 도구 또는 Tracelog 도구를 사용할 수 있습니다. VssTrace는 Microsoft Windows SDK(소프트웨어 개발 키트)에서 사용할 수 있으며 Windows 7 이상 버전의 Windows 운영 체제에서 VSS 애플리케이션을 추적하는 데 사용할 수 있습니다. Logman은 추적 이벤트 및 성능 카운터에 대한 추적 컨트롤러입니다. Windows 운영 체제의 Windows 7 이상 버전에서 VSS 애플리케이션을 추적하는 데 사용할 수도 있습니다. Tracelog는 WDK(Windows 드라이버 키트)에 포함됩니다.

ASR(자동화된 시스템 복구)에서 추적 도구를 사용하려면 ASR 애플리케이션에서 추적 도구 사용을 참조하세요.

참고 항목

VssTrace, Logman 및 Tracelog는 모두 관리자 권한이 필요합니다.

 

각 도구에 대한 자세한 내용은 다음 섹션을 참조하세요.

VssTrace 사용

명령줄에서 VssTrace 도구를 실행하려면 다음 구문을 사용합니다.

vsstrace 명령줄 옵션

VssTrace 도구에 대한 간결한 명령줄 도움말을 표시하려면 다음 구문을 사용합니다.

vsstrace -help

VssTrace 도구에 대한 자세한 명령줄 도움말을 표시하려면 다음 구문을 사용합니다.

vsstrace -help all

VssTrace 명령줄 옵션

VssTrace 도구는 다음 명령줄 옵션을 사용합니다.

-f 플래그

플래그 비트 마스크에 의해 플래그가 지정된 모듈을 사용하도록 설정합니다. 각 플래그는 VSS 모듈에 해당합니다. 플래그가 0이면 모듈을 사용할 수 없습니다. 대부분의 모듈은 기본적으로 사용하도록 설정됩니다. 이 옵션은 **+**모듈 옵션과 결합할 수 있습니다. 예를 들어 vsstrace -f 0 +WRITER +COORD 는 기본적으로 사용하도록 설정된 모든 모듈의 추적을 사용하지 않도록 설정하고 VSS 기록기 및 VSS 서비스를 추적할 수 있도록 합니다. 또는 vsstrace +f 0xffff -COORD를 사용하면 VSS 서비스를 제외한 모든 모듈을 추적할 수 있습니다.

참고 항목

-f 옵션을 **+**모듈 옵션과 함께 사용하는 경우 **+**모듈 옵션 앞에 -f가 나타나야 합니다.

 

다음 표에서는 사용 가능한 각 모듈의 모듈 이름과 플래그를 나열합니다.

모듈 Flag 기본적으로 사용하도록 설정됨 추적된 항목
EXCEPT 0x00000001 C++ 예외 처리.
COORD 0x00000002 VSS 코디네이터라고도 하는 VSS 서비스입니다.
SWPRV 0x00000004 VSS 시스템 섀도 복사본 공급자 서비스입니다.
BUCOMP 0x00000008 VSS 요청자 및 백업 메타데이터 처리입니다.
WRITER 0x00000010 WINDOWS 레지스트리 작성기와 같은 VSS 작성기 작업 및 VSS 호스팅 작성기 구현
VSSAPI 0x00000020 VSSAPI.DLL 내보낸 VSS API의 기타 함수입니다.
HWDIAG 0x00000040 VSS 하드웨어 공급자 인프라 및 작업.
관리 0x00000080 VSSADMIN.EXE 및 DISKSHADOW.EXE 같은 VSS 명령줄 유틸리티입니다.
VSSUI 0x00000100 공유 폴더 구성 UI(사용자 인터페이스)에 대한 섀도 복사본입니다. UI는 Windows Server 운영 체제에서만 사용할 수 있습니다.
테스트 0x00000200 해당 없음. (이 추적 모듈은 예약되어 있습니다.)
IOCTL 0x00000400 DeviceIoControl 함수를 호출하여 VSS 서비스가 시작한 FSCTL 및 IOCTL 작업에 대한 세부 정보입니다.
GEN 0x00000800 할당자, 문자열 클래스, 레지스트리 및 볼륨 작업과 같은 일반 VSS 유틸리티 함수입니다.
WRXML 0x00001000 아니요 기록기 메타데이터에 대한 XML 처리입니다. 이 모듈에는 매우 높은 수준의 노이즈가 있습니다.
VSSXML 0x00002000 아니요 XML 처리 기본 클래스입니다. 이 모듈에는 매우 높은 수준의 노이즈가 있습니다.

 

**+**모듈

모듈에서 지정한 모듈사용하도록 설정합니다. 한 번에 둘 이상의 모듈을 사용하도록 설정할 수 있습니다. 사용 가능한 모듈을 나열하려면 명령줄 프롬프트에 vsstrace –help 모듈을 입력 합니다 .

-모듈

모듈에서 지정한 모듈사용하지 않도록 설정합니다. 사용 가능한 모듈을 나열하려면 명령줄 프롬프트에 vsstrace –help 모듈을 입력 합니다 .

+pid ProcessId

ProcessId에서 지정한 프로세스를 사용하도록 설정합니다. 모든 프로세스를 사용하도록 설정하려면 ProcessId에 "*"를 사용합니다. 한 번에 둘 이상의 pid 옵션을 지정할 수 있습니다. 옵션 순서에 따라 사용하거나 사용하지 않도록 설정되는 프로세스가 결정됩니다. 예를 들어 프로세스 식별자가 0xe8c 프로세스만 사용하도록 설정하려면 vsstrace -pid * +pid 0xe8c 사용합니다.

-pid ProcessId

ProcessId에서 지정한 프로세스를 사용하지 않도록 설정합니다. 모든 프로세스를 사용하지 않도록 설정하려면 ProcessId에 "*"를 사용합니다. 한 번에 둘 이상의 pid 옵션을 지정할 수 있습니다. 옵션 순서에 따라 사용하거나 사용하지 않도록 설정되는 프로세스가 결정됩니다. 예를 들어 프로세스 식별자가 0xe8c 프로세스를 제외한 모든 프로세스를 사용하지 않도록 설정하려면 vsstrace -pid * +pid 0xe8c 사용합니다.

+tid ThreadId

ThreadId로 지정된 스레드를 사용하도록 설정합니다. 모든 스레드를 사용하도록 설정하려면 ThreadId에 "*"를 사용합니다. 한 번에 둘 이상의 tid 옵션을 지정할 수 있습니다. 옵션 순서에 따라 사용하거나 사용하지 않도록 설정된 스레드가 결정됩니다. 예를 들어 프로세스 식별자가 0x31a 스레드만 사용하도록 설정하려면 vsstrace -tid * +tid 0x31a 사용합니다.

-tid ThreadId

ThreadId로 지정된 스레드를 사용하지 않도록 설정합니다. 모든 스레드를 사용하지 않도록 설정하려면 ThreadId에 "*"를 사용합니다. 한 번에 둘 이상의 tid 옵션을 지정할 수 있습니다. 옵션 순서에 따라 사용하거나 사용하지 않도록 설정된 스레드가 결정됩니다. 예를 들어 프로세스 식별자가 0x31a 스레드를 제외한 모든 스레드를 사용하지 않도록 설정하려면 vsstrace -tid * +tid 0x31a 사용합니다.

-l 수준

Level으로 지정된 추적 수준을 사용합니다. 수준이 높을수록 추적 출력의 자세한 정보가 더 많이 표시됩니다. 각 수준에는 모든 하위 수준이 포함됩니다. 기본 수준은 170입니다. 다음 수준을 사용할 수 있습니다.

수준 추적 출력에 포함된 정보
000 None
020 심각한 오류
030 처리되지 않은 예외
040 Errors
050 어설션
060 경고
080 예외 처리
100 이벤트 로그 활동
120 일반 정보
140 코드 흐름
160 함수 입력 및 종료
170 함수 반환 값
180 함수 매개 변수(terse)
190 함수 매개 변수(자세한 정보 표시)
200 자세한 정보 수준 1
210 자세한 정보 수준 2
220 자세한 정보 수준 3
230 빠른 코드 수준 1
240 빠른 코드 수준 2
250 빠른 코드 수준 3
255 모두

 

+들여쓰기

각 함수 및 하위 기능 경계에서 형식이 지정된 추적 출력을 들여쓰기합니다.

-들여쓰기

서식이 지정된 추적 출력을 들여쓰지 마세요.

-etl EtlFile

EtlFile에서 지정한 Logman 출력 파일을 읽을 수 있는 텍스트 형식으로 변환합니다.

-o OutputFile

추적 정보를 OutputFile에서 지정한 출력 파일에 저장합니다. 최상의 성능을 위해 출력 파일은 섀도 복사본의 일부가 아닌 볼륨에 있어야 합니다.

-helpOption

HelpOption에서 지정한 대로 명령줄 도움말을 표시합니다. 유효한 HelpOption 값은 모듈, 수준모든 값입니다. 모듈을 지정하면 모듈이 나열됩니다. 수준을 지정하면 사용 가능한 수준이 나열됩니다. 모든 원인을 지정하면 자세한 도움말이 표시됩니다. 옵션을 사용하지 않으면 간결한 도움말이 표시됩니다.

Logman 사용

다음 절차에서는 VSS 애플리케이션에서 Logman을 사용하는 방법을 설명합니다.

VSS 애플리케이션에서 Logman을 사용하려면

  1. 다음 명령을 사용하여 추적을 시작합니다.

    logman start vss -o *x:\*vss.etl -ets -p {9138500e-3648-4edb-aa4c-859e9f7b7c38} 0xfff 170

    참고 항목

    "x:\"를 추적 로그 파일을 저장할 디렉터리의 경로로 바꿉니다.

     

  2. 추적을 중지하려면 다음 명령을 사용합니다.

    logman stop vss -ets

추적 로그 파일은 *x:\*vss.etl입니다.

Logman 도구에 대한 자세한 내용은 Logman을 참조하세요.

Tracelog 사용

다음 절차에서는 Tracelog를 사용하는 방법을 설명합니다.

Tracelog를 사용하려면

  1. 다음 텍스트만 포함하는 vss.ctl이라는 텍스트 파일을 만듭니다.

    9138500e-3648-4edb-aa4c-859e9f7b7c38 vss

  2. 다음 명령을 사용하여 추적을 시작합니다.

    tracelog -start vss -f *x:\*vss.etl -guid vss.ctl -flag 0xff -level 0xaa

    참고 항목

    "x:\"를 추적 로그 파일을 저장할 디렉터리의 경로로 바꿉니다.

     

  3. 추적을 중지하려면 다음 명령을 사용합니다.

    tracelog -stop vss

추적 로그 파일은 *x:\*vss.etl입니다.

Tracelog 도구에 대한 자세한 내용은 Tracelog를 참조하세요.