프로세스 디버깅 하기

여기서는 이벤트 뷰어라는 프로그램을 통해 프로세스 디버깅 할수 있는 방법을 알아보도록 하겠습니다.

  • 실시간 디버깅도 가능하지만, 여기서는 프로세스 덤프 파일을 통해 진행하는 방법을 알아보겠습니다.

이벤트 뷰어 프로세스 디버깅 하기

     
 

먼저 MMC 프로세스 덤프를 해보죠


     
 

덤프한 파일을 탐색기에서 바로 실행 하기 위해서 windgb -IA를 실행합니다.

windgb -IA


     
 

Windbg -IA를 command에서 실행 시키면, 다음 메시지와 함께 레지스트리에 확장자를 등록시킵니다.



     
 

자세한 내용은 도움말을 참고 하세요 (비슷한 말입니다. -ㅅ-)


     
 

     
 

처음 사용하시는 분을 위해 명령어로 심볼 경로를 등록해 봅시다.

     
 

.sympath SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols

   
 


     
 

그리고 symfix 명령을 통해 기본 심볼 서버의 경로를 지정할수 있습니다.

     
 

.symfix c:\websymbols


     
 

잘못된 데이터를 보는 시간을 줄이기 위해 !peb명령으로 메모리 덤프에서 빠르게 확인하는 방법은 다음과 같습니다.

     
 

!peb


     
 

peb명령을 스냅인을 생성한 덤프의 메모리 주소를 확인하고, 그 메모리 주소에서

실행한 커맨트 라인 명령을 확인합니다.

     
 

dt nt!_PEB ProcessParameters->CommandLine 7ffdf000


     
 

그리고 현재 덤프의 스레드를를 확인합니다.

     
 

~* kl


     
 

다음 마지막으로 에러가 발생한 시점을 확인합니다.

(에러가 없는 프로세스 덤프라 없다고 나올듯합니다.)

     
 

!gle


     
 

그런다음 windbg의 분석결과를 확인해 봅니다.

     
 

!analyze -v


     
 

이렇게 일반적인 프로세스 덤프 분석 상황 입니다.

Facebook Comments

Leave A Reply

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.