본문 바로가기
어플리케이션

WinDbg (Windows Debugger) 에 대해 알아보겠습니다.

by forward error correction Circle 2026. 2. 20.
반응형

Ⅰ. 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) 분석 : 프로그램이 응답하지 않는 원인 파악
 ⅳ. 악성코드 분석 : 실행 파일의 동작을 리버싱하여 행위 분석

반응형