Ⅰ. WinDbg (Windows Debugger) 란?
마이크로소프트가 제공하는 Windows 전용 디버깅 도구로, 커널 모드와 유저 모드 디버깅을 모두 지원합니다. BSOD 원인 파악, 메모리 분석 등 시스템 수준의 문제를 다루는 데 있어 사실상 표준 도구입니다.
Ⅱ. WinDbg (Windows Debugger) 핵심 기능
Visual Studio 같은 일반 디버거와 달리, WinDbg는 시스템 전체를 들여다볼 수 있습니다.
| 기능 | 설명 |
| 커널 모드 디버깅 | OS 커널, 드라이버, 서비스 수준의 문제 분석 |
| 덤프 파일 분석 | .dmp 파일을 로드하여 충돌 원인 추적 |
| 원격 디버깅 | 네트워크/시리얼 포트로 다른 PC 실시간 분석 |
| 강력한 명령어 체계 | 복잡한 메모리 구조체를 명령행으로 구조적 확인 |
Ⅲ. WinDbg 다운로드 방법
ⅰ. 최신 WinDbg 설치
1) 공식 링크: aka.ms/windbg/download
2) .appinstaller 파일 실행 → 최신 버전 자동 설치
3) 설치 후 %LocalAppData%\Microsoft\WindowsApps 경로의 파일을 복사하면 포터블로 활용 가능
ⅱ. Windows SDK 에서 Classic 버전 추출
1) Windows SDK 다운로드 페이지(https://learn.microsoft.com/ko-kr/windows/apps/windows-sdk/downloads)
운영체제에 맞는 설치 관리자 클릭 후 winsdksetup.exe 다운로드
2) 전체 SDK 설치 없이 디버깅 도구만 선택적으로 받을 수 있습니다.
□ "Download... for installation on a separate computer" 선택 (파일만 다운로드)
□ 항목 선택 시 "Debugging Tools for Windows" 만 체크

□ 다운로드된 폴더 → Installers → X64 Debuggers And Tools-x64_en-us.msi 실행하여 설치
( 설치된 운영체제의 비트 수 맞게 설치)

ⅲ. 포터블(Portable) 만들기
7-Zip 등으로 .msi를 압축 해제하여 아래 파일만 추출하면 됩니다.
1) 실행 파일 : windbg.exe
2) 심볼 로드 : dbghelp.dll, symsrv.dll
3) 소스 서버 연결용 : srcsrv.dll
Ⅳ. 심볼(Symbol) 설정
WinDbg를 제대로 활용하려면 심볼 파일(.pdb) 이 필수입니다. 심볼은 기계어 주소를 함수명·변수명으로 변환해주는 역할을 합니다. 인터넷이 연결된 환경이라면 마이크로소프트 공용 심볼 서버에 연결하여 자동으로 내려받을 수 있습니다.
ⅰ. CMD 창을 통한 임시 설정(현재 세션만 적용)
| set _NT_SYMBOL_PATH = srv*C:\Symbols*https://msdl.microsoft.com/download/symbols |
※ CMD 창을 닫으면 사라지며, WinDbg를 바로 이어서 실행 할 때 빠르게 쓰기 좋습니다.
ⅱ. 시스템 환경 변수 영구 등록
1) 시스템 속성(sysdm.cpl ) 실행 → 고급 → 환경 변수 → 시스템 변수 영역에서 새로 만들기 → 변수이름, 변수 값 추가

Ⅴ. WinDbg 자주 쓰는 명령어
| 명령어 | 설명 |
| !analyze -v | 덤프 분석 후 예상 원인 자동 출력 (가장 먼저 실행) |
| k | 현재 스레드의 콜 스택(Call Stack) 확인 |
| lm | 로드된 모듈(드라이버, DLL) 목록 출력 |
| r | CPU 레지스터 상태 확인 |
| dt [구조체] | 특정 메모리 주소를 구조체 형식으로 출력 |
Ⅵ. WinDbg 활용 사례
ⅰ. 블루스크린(BSOD) 분석 : 어떤 드라이버가 충돌을 일으켰는지 정확히 식별
ⅱ. 메모리 누수 추적 : 특정 프로세스가 메모리를 반환하지 않는 지점 탐색
ⅲ. 교착 상태(Deadlock) 분석 : 프로그램이 응답하지 않는 원인 파악
ⅳ. 악성코드 분석 : 실행 파일의 동작을 리버싱하여 행위 분석
'어플리케이션' 카테고리의 다른 글
| 브루트 포스(Brute Force, 무차별 대입) 공격 완전 정복 (0) | 2026.03.05 |
|---|---|
| 크래쉬 덤프(Crash Dump)에 대해 알아보겠습니다. (0) | 2026.02.19 |
| MODBUS 프로토콜에 대해 알아보겠습니다. (0) | 2026.01.09 |
| QR 코드(QR Code)에 대해 알아보겠습니다. (0) | 2026.01.05 |
| SSO(Single Sign-On) 에 대해 알아보겠습니다. (0) | 2025.12.30 |