다음을 통해 공유


!avrf

!avrf 확장은 애플리케이션 검증 도구의 설정을 제어하고 애플리케이션 검증 도구에서 생성된 다양한 출력을 표시합니다.

    !avrf
    !avrf -vs { Length | -a Address }
    !avrf -hp { Length | -a Address }
    !avrf -cs { Length | -a Address }
    !avrf -dlls [ Length ]
    !avrf -trm
    !avrf -ex [ Length ] 
    !avrf -threads [ ThreadID ]
    !avrf -tp [ ThreadID ]
    !avrf -srw  [ Address | Address Length ] [ -stats ]
    !avrf -leak  [ -m ModuleName] [ -r ResourceType] [ -a Address ] [ -t ]
    !avrf -trace TraceIndex 
    !avrf -cnt
    !avrf -brk [BreakEventType]  
    !avrf -flt [EventType Probability] 
    !avrf -flt break EventType 
    !avrf -flt stacks Length 
    !avrf -trg [ Start End | dll Module | all ] 
    !avrf -settings 
    !avrf -skp [ Start End | dll Module | all | Time ] 

매개 변수

-vs { Length | -a Address }
가상 공간 작업 로그를 표시합니다. Length 는 표시할 레코드 수를 가장 최근 레코드부터 지정합니다. 주소 는 가상 주소를 지정합니다. 이 가상 주소를 포함하는 가상 작업의 레코드가 표시됩니다.

-hp { Length | -a Address }
힙 작업 로그를 표시합니다. 주소 는 힙 주소를 지정합니다. 이 힙 주소를 포함하는 힙 작업의 레코드가 표시됩니다.

-cs { 길이 | -a 주소 }
중요한 섹션 삭제 로그를 표시합니다. Length 는 표시할 레코드 수를 가장 최근 레코드부터 지정합니다. 주소 는 중요한 섹션 주소를 지정합니다. 주소가 지정되면 특정 중요 섹션에 대한 레코드가 표시됩니다.

-dlls [ 길이 ]
DLL 로드/언로드 로그를 표시합니다. Length 는 표시할 레코드 수를 가장 최근 레코드부터 지정합니다.

-trm
종료되고 일시 중단된 모든 스레드의 로그를 표시합니다.

-ex [ 길이 ]
예외 로그를 표시합니다. 애플리케이션 검증 도구는 애플리케이션의 모든 예외를 추적합니다.

-threads [ ThreadID ]
대상 프로세스의 스레드에 대한 정보를 표시합니다. 자식 스레드의 경우 부모에 의해 지정된 스택 크기 및 CreateThread 플래그도 표시됩니다. 스레드 ID를 제공하는 경우 해당 스레드에 대한 정보만 표시됩니다.

-tp [ ThreadID ]
스레드 풀 로그를 표시합니다. 이 로그에는 스레드 선호도 마스크 변경, 스레드 우선 순위 변경, 스레드 메시지 게시, 스레드 풀 콜백 내에서 COM 초기화 또는 초기화 해제와 같은 다양한 작업에 대한 스택 추적이 포함됩니다. 스레드 ID를 제공하는 경우 해당 스레드에 대한 정보만 표시됩니다.

-srw [ 주소 | 길이 ] [ -stats ]
SRW(Slim Reader/Writer) 로그를 표시합니다. 주소를 지정 하면 해당 주소의 SRW 잠금에 대한 레코드가 표시됩니다. 주소길이를 지정하면 해당 주소 범위의 SRW 잠금에 대한 레코드가 표시됩니다. -stats 옵션을 포함하면 SRW 잠금 통계가 표시됩니다.

-leak [ -m ModuleName] [ -r ResourceType] [ -a Address ] [ -t ]
미해결 리소스 로그를 표시합니다. 이러한 리소스는 특정 시점에 누출되거나 누출되지 않을 수 있습니다. 모듈 이름(확장 포함)을 지정하면 지정된 모듈의 모든 미해결 리소스가 표시됩니다. ResourceType을 지정하면 해당 리소스 유형의 모든 미해결 리소스가 표시됩니다. 주소를 지정 하면 해당 주소가 있는 미해결 리소스의 레코드가 표시됩니다. ResourceType 은 다음 중 하나일 수 있습니다.

힙: Win32 힙 API를 사용하여 힙 할당 표시

로컬: 로컬/전역 할당 표시

CRT: CRT API를 사용하여 할당 표시

가상: 가상 예약 표시

BSTR: BSTR 할당 표시

레지스트리: 레지스트리 키가 열립니다.

전원: 전원 알림 개체 표시

핸들: 스레드, 파일 및 이벤트 핸들 할당을 표시합니다.

-trace TraceIndex 는 지정된 추적 인덱스에 대한 스택 추적을 표시합니다. 일부 구조체는 이 16비트 인덱스 번호를 사용하여 스택 추적을 식별합니다. 이 인덱스 스택 추적 데이터베이스 내의 위치를 가리킵니다.

-cnt 전역 카운터 목록을 표시합니다.

-brk [ BreakEventType ] break 이벤트를 지정합니다. BreakEventType 은 break 이벤트의 형식 번호입니다. 가능한 형식 목록과 현재 중단 이벤트 설정 목록을 보려면 !avrf -brk를 입력합니다.

-flt [ EventType Probability ] 오류 주입을 지정합니다. EventType 은 이벤트의 형식 번호입니다. 확률 은 이벤트가 실패하는 빈도입니다. 0에서 1,000,000(0xF4240) 사이의 정수일 수 있습니다. 추가 매개 변수 없이 !avrf -flt를 입력하면 현재 오류 주입 설정이 표시됩니다.

-flt break EventType을 사용하면 EventType으로 지정된 이 오류가 삽입될 때마다 애플리케이션 검증 도구가 디버거에 침입합니다.

-flt 스택 길이가장 최근의 내결함성 작업에 대한 스택 추적의 길이 수를 표시합니다.

-trg [ Start End | dll Module | all ] 대상 범위를 지정합니다. 시작 은 대상 범위의 시작 주소입니다. 은 대상 범위의 끝 주소입니다. 모듈은 대상으로 지정할 모 듈의 이름(.exe 또는 .dll 확장을 포함하지만 경로를 포함하지 않음)을 지정합니다. -trg를 모두 입력하면 모든 대상 범위가 다시 설정됩니다. 추가 매개 변수 없이 -trg를 입력하면 현재 대상 범위가 표시됩니다.

-skp [ Start End | dll Module | all | 시간 ] 제외 범위를 지정합니다. 시작 은 제외 범위의 시작 주소입니다. 은 제외 범위의 끝 주소입니다. 모듈은 대상으로 지정하거나 제외할 모듈의 이름을 지정합니다. 모듈은 제외할 모 듈의 이름(.exe 또는 .dll 확장을 포함하지만 경로를 포함하지 않음)을 지정합니다. -skp를 모두 입력하면 모든 대상 범위 또는 제외 범위가 다시 설정됩니다. 시간 값을 입력하면 실행이 다시 시작된 후 시간 밀리초 동안 모든 오류가 표시되지 않습니다.

DLL

exts.dll

추가 정보

Application Verifier 및 해당 설명서를 다운로드하고 설치하는 방법에 대한 자세한 내용은 Application Verifier를 참조 하세요.

설명

!avrf 확장이 매개 변수 없이 사용되는 경우 현재 Application Verifier 옵션이 표시됩니다. 전체 페이지 힙 또는 빠른 채우기 힙 옵션을 사용하도록 설정한 경우 활성 페이지 힙에 대한 정보도 표시됩니다. 몇 가지 예제는 애플리케이션 검증 도구 중지 디버깅에서 "힙 작업 로그"를 참조하세요.

애플리케이션 검증 도구 중지가 발생한 경우 매개 변수가 없는 !avrf 확장은 중지의 특성과 그 원인을 표시합니다. 몇 가지 예제는 애플리케이션 검증 도구 중지 디버깅을 참조 하세요.

ntdll.dll 및 verifier.dll 대한 기호가 없 으면 !avrf 확장에서 오류 메시지를 생성합니다. 이 문제를 해결하는 방법에 대한 자세한 내용은 애플리케이션 검증 도구 중지 디버깅에서 "디버거 설치 및 설정"을 참조하세요.