!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 확장에서 오류 메시지를 생성합니다. 이 문제를 해결하는 방법에 대한 자세한 내용은 애플리케이션 검증 도구 중지 디버깅에서 "디버거 설치 및 설정"을 참조하세요.