[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.28 |
Cirtical Section(임계 영역) - CreateEvent (0) | 2016.07.08 |
Critical Section(임계 영역) - Semaphore (0) | 2016.07.06 |