블로그는 나의 힘!
[ Programing ]/Other2014. 2. 3. 20:04

간단히 설명 하면 프로그램에서 크래쉬가 나 mini dump 가 생성되면 관련 파일을 디버그 하는 전용 툴이다.

일단 Windbg를 설치하자.

 

 

 

 

설치

 

링크 : msdn.microsoft.com/ko-kr/windows/hardware/hh852365

링크 (구버전 6.1.2) : rxwen.blogspot.kr/2010/04/standalone-windbg-v6120002633.html

최신 버전을 사용 할려면 위에 있는 링크로.

구 버전(통합되지 않은 독립적인 라이트한 Windbg) 사용 할려면 아래 링크로.

 

Symbol 다운로드

링크 :  msdn.microsoft.com/ko-KR/kor/windows/hardware/gg463028.aspx

 


 

 

 

 

심볼 파일 설정

 

해당 덤프 파일은 3가지가 필요하다.

덤프(.dmp) 파일과 관련 프로그램(file) 그리고 해당 소스파일(Project) 이다.

 

메뉴에서
File->Symbol File Path
: 크래쉬가 난 해당 심볼 위치 경로를 설정하자.

EX ) c:\ symbols.pub

       Symbol을 다운로드 한 경우 SRV*c:\symbol*http://msdl.microsoft.com/downloads/symbol

 

File->Source File Path
: 크래쉬가 난 해당 소스파일 위치 경로를 설정하자.

 

File->Image Fail Path
: 크래쉬가 난 해당 프로그램 위치 경로를 설정하자.

 

 

 

 

덤프 불러오기


일단 마우스로 해당 덤프를 Windbg로 드래그 한다.

이후 명령어를 작성한다.


> !sym -noisy
덤프 디테일 커맨드 로그 출력
심볼 로딩에서 상세로그 출력한다.
noisy mode on 설정이 되면 상세 로그 출력 설정 완료.
( mis match 관련 로그가 출력 되는지 확인하자.)

 

> !analyze -v
덤프 분석 (서버 파일과 덤프 매핑)


> .excr
크래쉬 덤프로 남겨진 문제점이 발생한 해당 소스를 호출한다.


 

 

 

 


그외 그나마 자주 사용하는 옵션

 

> .reload
덤프 리로드

 

> lm
로딩된 모듈 리스트 보여준다.

 

> kn
콜스택 확인

 

> CTRL + BREAK
브레이크 걸기 

 

> g
브레이크 풀기


> q
디버깅 종료

 

 

 

 

 

 

기타

 

만약 mis match 가 발생하여 덤프 분석이 힘들어 문제점이 난 파일과 가지고 있는 파일의 비교가 필요하다면

WinMerge를 활용하자.

링크 : winmerge.org

 

 

 

 

보통 많이 쓰는 명령어 이고 관련 추가 명령어 들은 다음에 정리 하겠다.
(나머지는 잘 쓸일이 없어서...)

 

 

Posted by Mister_Q