My Study/System

[windbg]기본 명령어

g : 시작

만약 Debuggee is running... 이라며 커멘드가 입력이 안될시에 ctrl + break 을 누름


bp : 모듈이름!함수이름

모듈 이름을 붙이는 이유는 어떤 모듈에 있는 함수명인지 모르면 브레이크 포인트 거는데 시간이 걸리기 때문에 명시해주면 빨리 찾을 수 있음.


bl

브레이크 포인트 목록

0 : 브레이크 포인트 번호

e : enable disable이면 d

00007ff6`2043a960 : 해당 주소

0001 : 브레이크 포인트 패스, 이 숫자에 따라 몇번 실행 됬을 때 브레이크 포인트가 걸릴지 결정

**** 스레드 지정을 표시

TDGClass!main 모듈명!함수이름

[g, bp, bl 사용]


bd 숫자

브레이크 포인트 비활성화


be 숫자

브레이크 포인트 활성화


bc 숫자

브레이크 포인트 해제

* : 전체

@-@ : 구간 해제

@,@,@ 특정 브레이크 포인트 해제


bu 모듈이름!함수이름

bp와 같은 역할이지만 디버깅을 종료 후 다시 시작할 때도 브레이크 포인트가 유지가 됨


[bd,, be, bc 사용]


k(alt+6)

콜 스택 확인

가장 최근 호출된 함수가 가장 위에 있음

Raw args : 스택을 사용하여 파라미터를 전달할 경우 3개까지 보여줌. 그렇지 않으면 쓰레기 값

Func info : 콜링 컨벤션 확인

Source : 소스 위치 확인, 더블 클릭시 소스 오픈

소스 위치가 다를 경우 File 탭에서 Source File path 를 클릭하여 위치를 재설정해주면됨

.srcpath 로 위치 확인 

Addr : EBP주소, 이전 함수로 리턴 주소 표시


[k 사용]


F9(Break Point) 브레이크 포인트

p,F10(Step Over) 다음 라인 진행

t, F11(Step Into) 다음 라인 진행하다가 함수 있을 경우 함수안으로 들어가기

Shitf + F11(Stap Out) 함수 빠져나가기


와치창(Alt+2)

사용자가 지정한 변수 관찰


dv(Alt+3)

지역변수 확인



[dv 사용]



메모리창(Alt+5)

d[option] 모듈이름!이름

option에는 a,b,c,f,p,q,u,w 등 많으니 help를 참조


[db dw 사용]

'My Study > System' 카테고리의 다른 글

[windbg] Kernel Mode Crash Dump  (0) 2016.08.01
[windbg]User Mode Crash Dump 분석  (0) 2016.08.01
[windbg]기본 명령어  (0) 2016.07.29
[windbg]심볼 파일 로드  (0) 2016.07.28
Cirtical Section(임계 영역) - CreateEvent  (0) 2016.07.08
Critical Section(임계 영역) - Semaphore  (0) 2016.07.06

최근 트랙백

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.