Windows Application Verifier
Windows Application Verifier 란?
Microsoft 에서 제공하는 실행 파일 검증 tool
모듈 안에서 발생 될 수 있는 위협들을 자동적으로 잡아주는 tool
프로그램의 유효성, 적절성을 검증하는 tool
올바른 동기화 관련 함수를 사용했는지, 유효하지 않은 핸들에 접근,메모리 릭 등등을 확인 가능
Windows Application Verifier 사용법
사용하기전 주의 사항
1. 프로세스가 느려지기 때문에 절대 Real환경에서는 사용해서는 안 됨
Application Verifier을 사용하게 되면 메모리 할당을 Release지만 Debug모드처럼 Memory Guard Block을 할당하고 ,
메모리 침범 등 여러 가지 오류를 검출하는 동작을 하기 때문에
실제보다 많이 느리기 작동 함.
그렇기 때문에 절대 Real환경에서는 사용해서는 안 됨
2. 사용 종료 시 만드시 프로세스 항목을 삭제하고 Save 를 해줘야함
Save 를 하지 않고 application verifier 를 닫을 시
application verifier는 계속해서 프로세스를 감시하기 때문에 많은 리소스를 사용함
재부팅 해도 감시 하고있음
점검할 프로세스 등록 방법
File > Add Application 에서 프로세스 선택
다중 선택 가능
Windows Service 프로세스의 경우도 대상 ?.exe 파일을 등록하면 application verifier 적용 가능
등록 완료 상태
점검 항목 설정
설정할 프로세스를 선택한 후 오른쪽의 Tests
항목에서 원하는 점검 목록 선택가능
(주의)
Tests 항목이 한번에 많을수록 프로세스가 느려지고
실제 프로세스에서 발생하는 오류가 아니라
Application Verifier 점검 항목간의 충돌로 오류 log 가 생성되서
정확한 프로세스 log 가 생성되지 않을 가능성이 있음
그렇기에 Tests 항목은 왠만하면 1개 씩 감시하는게 정확한 점검 방법이 될 수 있음
점검 Log 확인
단축키 : Ctrl + L
Applications 항목에서 프로세스 확인
Logs 에서 Error, Warning 항목 확인 가능
View : explorer 를 통해 log 내용 확인가능
Save As : Log 내용을 파일로 저장 가능
오류 항목 클릭 수 View 클릭 시
Application Verifier 가 돌아가는 도중 발생하는 모든 log 들은 쌓여서 저장됨
Windows Application Verifier 과 WinDbg
Application Verifier 는 오류 발생에 관한 정보 Log 생성함
해당 Log 를 기반으로 정확한 오류 분석을 하기 위해서는 WinDbg 사용이 필요함
일반 실행 프로세스의 경우
Application Verifier 에 나오는 메모리 주소를 참고하여
프로세스를 실행 시킨 뒤 생성한 Dump 파일을
WinDbg 로 분석하며 원인 파악
Windows Servier 프로세스, 프로세스가 갑자기 종료되어 dump파일을 생성하기 힘들 경우
WinDbg just in time 방법이 필요함
just in time 이란?
실행중인 프로세스에서 오류가 발생하여 shutdown 되면
그 즉시 WinDbg 가 실행되어 오류 상황당시의 Dump 내용을 확인할 수 있음
WinDbg just in time 등록 방법
1) 명령어 방법
Cmd 관리자 권한 실행
WinDbg.exe -I
2) 레지스트리 key 추가
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
Auto = ( 1: ON, 2: OFF)
Debugger = just in time debug 시 사용할 프로세스 경로
- WinDbg 의 경우 : windbg.exe -p %ld -e %ld-g
'Tool 사용법 > Application Verifier' 카테고리의 다른 글
Windows Application Verifier 설치 (0) | 2021.05.26 |
---|