서버 개발/데이터베이스 기타 & 팁

Windbg 유용한 명령어

지노윈 2020. 7. 13. 09:45
반응형
  • .reload

    symbol과 source 읽어 온다.

  • .ecxr : (exception context record)

    예외가 발생한 컨텍스트 레코드를 보여주고 디버거가 해당 내용을 참조하게 하는 명령

  • k, kb, kn / ~*k, ~*kb

    콜 스택 / 모든 쓰레드 콜 스택 

  • ~2

    제어는 2번 쓰레드로 변경

  • ~

    쓰레드 목록 확인

  • ~.

    현재 쓰레드만 확인

  • ~[숫자]s

    ~2s 이면 2번 쓰레드로 변경한다 입니다.

     

  • ??

    표현식 평가 

    ??GMemoryManager : 전역 변수를 평가

명령어

설명

.sympath

현재 symbol path 로 설정된 경로를 보거나 설정합니다.

.sympath+

symbol path 를 기존 설정 뒤에 새로 추가합니다.

!sym noisy

설정된 symbol path 에서 symbol 을 어떻게 찾아 읽는지 verbose 하게 알려줍니다.

.reload

symbol path 에 설정된 symbol 들을 다시 읽습니다.

.cxr

context record 를 보여주는데, register context 변경점을 초기화할 때 사용합니다.

.ecxr

exception context record 를 읽어서 보여줍니다.

k

call stack 을 확인합니다.

kn

번호를 붙여서 call stack 을 확인합니다.

kb

argument 정보와 함께 call stack 을 확인합니다.

.frame #

call stack 의 frame 을 지정된 번호로 이동합니다.

.f+

call stack 을 한 단계 아래로(step into) 들어갑니다.

.f-

call stack 을 한 단계 위로(step out) 올라옵니다.

~* cmd

전 thread 를 대상으로 명령을 요청합니다. 예시) ~* k

~#s

특정 번호의 thread 로 전환합니다. 예시) ~11s

dt

type 정보를 확인합니다. 예시) dt MemoryHeader

dv

local variable 명령을 확인합니다.

??

c++ expression 을 수행합니다. 예시) ?? GMemoryManager

$!

local scope 에서 symbol 을 검색합니다. 예시) ?? $!mContractor

!heap

heap 을 조회합니다.

반응형