나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2024-11-14 00:26:48

WinDbg

파일:WinDbg Icon.png
개발 파일:Microsoft 로고.svg
라이선스 상업 번들 프로그램
운영체제 Windows
파일:WinDbg.png
구 WinDbg
파일:WinDbg Windows Store.png
신 WinDbg

1. 개요2. 명령어

1. 개요

마이크로소프트에서 만든 윈도우 디버깅 프로그램. Windows DDK(드라이버 개발 SDK) 설치 시 기본적으로 제공된다. 이 프로그램은 윈도우 커널을 디버깅하여 버그를 찾는데 사용하다보니 드라이버 개발자에게 필수품이다.

WinDbg에서 윈도우에 연결하기 위해서는 시스템 구성에서 디버그 설정을 켜줘야 한다. [1]

가상머신의 윈도우에 연결하겠다면 시리얼 포트를 추가하고 파이프를 설정해야 한다.[2] VMware의 경우 프린터가 COM1를 점유하므로 전역 디버그에서 디버그 포트를 COM2로 설정해야 한다.

디버그 설정을 했다면 WinDbg에서 File -> Kerenl Debug를 클릭하고 Kerenl Debugging 창이 나오면 COM 탭으로 이동한 후 Port 입력 칸에 가상머신에서 설정한 파이프 이름을 입력하고 Pipe와 Reconnnect까지 체크한다. 그리고 확인 버튼을 누르면 콘솔이 나오면서 연결 대기 중이라고 나온다.

이제 가상머신을 키면 부팅 과정에서 WinDbg가 커널 디버그에 연결되어 콘솔에서 연결되었다고 나온다. 로그 나오는 것 밖에 못하지만 Break를 걸면 연결된 윈도우가 일시정지되면서 명령어를 실행할 수 있다. 일시정지를 풀고 싶다면 g 명령어를 실행하면 된다.

2017년에 새로운 WinDbg이 출시되었다. UI가 완전히 바뀌었으며 Windows DDK를 설치할 필요 없이 Windows Store에서 설치할 수 있다.

2. 명령어

이름 설명
g(또는 go) 연결된 윈도우의 일시정지를 푼다.
q 디버그 종료, 연결된 윈도우는 보류(일시정지) 상태가 되고 디버그 연결을 기다린다.
qd 디버그 종료와 같으나 연결된 윈도우가 보류(일시정지) 상태가 되지 않는다.
vertarget 타켓 컴퓨터 정보 표시
version 디버그 환경 정보 표시
k 실행 스택 정보를 표시한다.
!analyze -v 블루스크린 정보(오류 코드, 원인 드라이버 등)를 표시한다. 블루스크린이 일어나지 않았으면 아무 정보가 없다.
!process 프로세스 정보를 표시한다.
.process 디버깅할 현재 프로세스를 지정한다.
bp Break Point를 지정한다.
bm bp와 동일하지만 와일드 카드를 지원한다.
bc 지정된 Break Point를 삭제한다.

그 외에는 여기에서 정리되어 있으니 참고바람


[1] 윈도우키 + R 키를 놀러 실행창을 열거나 검색에서 msconfig 입력 후 실행 -> 시스템 구성이 나오면 부팅 탭으로 가서 '고급 옵션' 버튼 클릭 -> 디버그 부분을 체크하고 전역 디버그 설정에서 디버그 포트를 설정(COM1~4, 1394, USB)하고 저장 후 재부팅하면 된다.[2] 파이프 이름을 \\\\.\\pipe\\(원하는 이름) 이렇게 설정해야 한다.