간단히 설명 하면 프로그램에서 크래쉬가 나 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
보통 많이 쓰는 명령어 이고 관련 추가 명령어 들은 다음에 정리 하겠다.
(나머지는 잘 쓸일이 없어서...)
'[ Programing ] > Other' 카테고리의 다른 글
윈도우10 텔넷 설치 (0) | 2016.03.04 |
---|---|
UNICODE와 UTF8 관련 국가별 코드 번호 구간들. (0) | 2014.03.04 |
Doxygen 주석 사용법 (0) | 2014.01.31 |
윈도우 동적으로 디버그 확인 (0) | 2013.10.25 |
2008 비쥬얼 스튜디오 찾기 및 바꾸기 정규식 이용 하기 (0) | 2013.10.18 |