Skip to content

WinDbg

WinDbg는 마이크로소프트 윈도우의 다용도 디버거이다. 디버깅은 시스템의 오류들을 찾고 분석하는 과정으로서, 또한 개발을 돕는 용도로서 소프트웨어의 내부 동작을 탐색하는 것도 포함한다. 이것은 유저 모드 애플리케이션, 장치 드라이버, 그리고 커널 모드에서 운영체제 자체를 디버깅하는 데 사용될 수 있다. 비주얼 스튜디오 디버거 처럼 그래픽 사용자 인터페이스 (GUI)를 가지지만 더 강력하다.

WinDbg는 버그 체크 시 발생하는 블루 스크린 이후 생성되는 커널 모드 메모리 덤프를 디버깅할 때 사용될 수 있다. 또한 유저 모드 충돌 덤프를 디버깅하는데도 사용될 수 있는데, 이것은 사후 분석 디버깅이라고 알려져 있다.

WinDbg는 SymSrv(SymSrv.dll)을 통해서 서버에서 다양한 표준(예를 들면 타임스탬프, CRC, 프로세서 버전)에 상응하는 디버그 심볼 파일(예를 들면 PDB)들을 자동으로 로드할 수 있다(더 많은 시간을 소비하는 심볼 트리 생성 대신). 전용 심볼 서버가 설정되면 심볼들은 소스코드와 연관된다. 디버그 호스트의 특정한 심볼 버전을 찾고 설치할 필요를 없애줌으로써 디버깅 대상에 설치된 다양한 버전들의 바이너리들에 의한 디버깅 문제들에 대한 부담을 경감시켜준다. 마이크로소프트는 윈도우 2000과 이후 버전의 대부분의 공개 심볼들을 가지며, 서비스 팩들을 포함하는 공용 심볼 서버를 갖고 있다.

AI가 WinDBG를 만났을 때

  • AI가 WinDBG를 만났을 때: 2025년 크래시 분석의 미래 | GeekNews
  • 기존 WinDBG 중심의 전통적인 크래시 분석 방식을 AI와 자연어 인터페이스로 혁신한 오픈소스 프로젝트
  • GitHub Copilot과의 연동을 통해 단순한 대화형 질의만으로 크래시 원인 파악 및 자동 수정까지 가능함
  • MCP를 통해 AI가 WinDBG 명령을 실행하고 해석하는 구조를 구성
  • 다수의 크래시 덤프 자동 분석, 스택 트레이스 해석, 포인터 디버깅 등 고급 작업도 AI가 보조할 수 있음
  • 이 접근은 QA, 서포트, 엔지니어 모두의 워크플로우를 혁신할 수 있으며, 이제 디버깅도 ‘바이브 코딩’ 시대에 들어섰다는 관점임

See also

Favorite site

References


  1. Kuaaan.tistory.com_-Windows_Debugging-_01_Basic.pdf 

  2. Kuaaan.tistory.com_-Windows_Debugging-_02_x86_stack_inside.pdf 

  3. Windbg_-_How_to_check_if_the_instance_is_alive_and_is_experiencing_a_memory_leak.pdf