2010년 3월 9일 화요일

WinDbg(덤프 분석) 설치 및 사용법

WinDbg는 덤프를 분석할때 사용되는 툴이다.

 

즉 커널덤프라던지, 전체 덤프 파일을 읽어서 어디가 잘못 되었는지, 어디가 문제였는지 확인할때 쓰인다.

 

다운로드는 MS에서 직접 다운을 받으면 되고,

주기적으로 버전이 업데이트 되서 나오니... 최신 버전을 다운 받을수 있다.

http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx

 

자신의 OS 환경에 맞는 버전을 설치하자.

설치가 완료 되면 아래와 같이 WinDbg를 실행 할수 있게 된다.

 

 

이제 환경 설정을 진행 하자.

우선 WinDbg를 실행 시키고 [File]-[Symbol File Path]를 실행 한다.

 

 

Symbol File Path에 "SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols" 를 입력 한다.

 

 

자~ 이제 기본적인 셋팅은 끝났다.

그외에 [Image File Path]을 설정 할수 있는데 OS의 이미지 경로(OS CD의 i386 폴더)을 선택 해도 되고 안해도 된다.

 

이제 덤프파일을 가져오자!!!

덤프 파일은 블루스크린 및 컴퓨터에 오류가 발생 했을때 생성되며, 만약 생성이 안되어 있다면....

아래 그림과 같이 [내컴퓨터 속성]-[고급]-[시작및 복구 설정] 에 붉은 박스 내용처럼 되어 있는지 확인 하자

 

여기서 커널 메모리, 전체 메모리, 작은 메모리 방식은 어느정도의 자료를 남길것인가로 생각 하면 된다.

작은 메모리는 무엇 때문에 문제가 되었는지는 확인 할수 있으나, 왜 문제가 발생했는지 확인하기 어렵다.

 

저장 경로는 %SystemRoot% => C:\Windows\ 폴더 이다.(Windows가 C드라이버에 설치 되어있을 경우)

 

블루스크린이 발생 할 경우, 또는 심각한 오류에서 복구가 될 경우 덤프파일이 생성 되구

해당 덤프파일을 읽어와서 분석을 해보자!!!

 

우선 [File]-[Open Crash Dump]을 실행해서 MEMORY.DMP 파일을 불러온다.

 

자 그럼 해당 MEMORY.DMP에서 오류 사인을 분석 하게 된다.

우선 아래 덤프 파일은 "ntkrpamp.exe" 파일에서 문제가 발생 한것으로 보인다.

좀더 자세히 알고 싶으면 !analyze -v 를 클릭 또는 kb> 에 !analyze -v 을 입력뒤 엔터를 친다.

 

이제 좀더 정확한 자료들이 표시가 되는데 이미지는 생략 하도록 하겠다.

해당 파일이 누구 모듈인지(개발자가 여러명일때), 또한 인터넷을 통해 해당 파일이 어떤 역할을 하는 파일인지 확인후

담당 개발자에게 해당 덤프파일을 주면 처리 할것이다.

 

만약 자기 자신이 개발한 프로그램에서 이런 증상이 발견 된다면, 문제가 되는 변수, 함수등을 디버거 모드로 컴파일 해가면서

잘못된 부분을 찾아야겠지....^^a

댓글 없음:

댓글 쓰기