Soft Ware/Windbg 사용 방법 및 명령어

유저 모드에서 windbg 로 디버깅

달려가보자 2011. 12. 22. 17:39

우선 디버거과 디버기의 차이점부터 설명하겠습니다.

디버기는 디버깅을 당하는 입장인 프로그램이구요

디버거는 디버깅을 하는 도구를 의미합니다


실행하고자하는 파일을 선택할때

---> Open Executable에서 exe 파일을 선택

 

심볼 파일 설정하는 방법

----> 메뉴에서 File을 선택 symbolFilePath 에서 SRV*저장경로*http://msdl.microsoft.com/download/wymbols 기입

여기서 심볼파일이 필요한 이유 : 심볼파일을 통해서 디버깅하는 소스 라인 디버깅이 가능하기 때문이다.

 

실행되어지고 있는 파일을 디버깅할때

--->  Attach to a process


실행 중지 하는 방법

---> ctrl+breake


실행 시키는 방법

----> g 입력 / f5

 

------------------------------------------------------------------------------------------------
원하는 실행코드에 Breake 거는 명령어
---> bp 실행파일명!함수

Breake가 걸려있나 확인하는 명령어
---> bl

Breake 비활성화 명령어
---> bd ID

Breake 활성화 명령어
---> be ID

Breake 포인트 해제
---> bc 0

Breake 포인트 모두 해제
---> bc *

Breake 포인트 범위로 해제
---> bc 3-5

*bc는 디버깅이 종료되면 브레이크 포인트가 유지되지 않지만 bu는 브레이크 포인트가 계속 유지

------------------------------------------------------------------------------------------------

Call Stack 확인 방법


--> 메뉴 버튼에서 View에서 Call Stack을 클릭 or  명령어 k 를 입력

--> 아래쪽에서 위쪽으로 순서

--> Addrs 을 클릭하면 왼쪽은 ebp 이고 오른쪽은 이전 함수로 리턴 주소

--> Raw args 을 클릭하면 함수에 전달되는 파라미터 주소 값   / 명령어 kb 를 입력

------------------------------------------------------------------------------------------------

소스 경로 지정

--> 메뉴 버튼 File 에서 source File path 에서 경로 지정 or .srcpath+ 경로

------------------------------------------------------------------------------------------------

한줄씩 실행 시키기 및 호출하는 함수로 들어가기

--> 비쥬얼 스튜디오 방식이랑 같음


------------------------------------------------------------------------------------------------

지역변수 보기

--> 메뉴 버튼 View에서 Local 클릭  or  명령어 dv

------------------------------------------------------------------------------------------------

전역변수 보기

--> 메뉴 버튼 View에서 Watch 클릭 or 명령어 db 파일명!전역변수명 (16진수로 1바이트씩) , dd 파일명!전역변수명 (16진수로 4바이트씩)  

--> 전역변수명을 넣어줘야한다

------------------------------------------------------------------------------------------------

메모리 창 보기

--> 메뉴 버튼 View에서 ㅡ Memory 클릭

------------------------------------------------------------------------------------------------