블루스크린 오류는 Windows 시스템에 치명적인 충돌이 발생한 후 나타납니다. 작업 중 갑자기 화면이 파랗게 변하면서 시스템을 강제로 재시작해야 하는 상황은 누구에게나 당황스럽고 답답한 일이며, 특히 문제의 원인을 찾기 어려울 때는 더욱 그렇습니다. 다행히 Windows 디버거 도구(WinDbg)처럼 유용한 도구를 활용하면 오류 보고서를 읽고 분석하여 BSOD 오류를 해결할 수 있습니다.
BSOD 오류의 주요 원인
BSOD 오류는 운영체제가 더 이상 안전하게 작동할 수 없는 임계점에 도달했을 때 표시됩니다. 주요 원인으로는 결함이 있는 드라이버, 손상된 Windows 레지스트리, 시스템 과열, 잘못 구성된 장치 드라이버, 손상된 시스템 파일, 오래된 드라이버, 과도한 오버클럭킹, 불량 소프트웨어, 그리고 기타 하드웨어 문제 등이 있습니다.
BSOD 오류 해결하기
블루스크린 오류(중지 오류라고도 함)가 발생하면 Windows 시스템이 완전히 멈추며, 계속 작업하려면 시스템을 재부팅해야 합니다.
다만 재부팅하기 전에 파란 화면에 표시된 오류 코드를 메모해 두는 것이 좋습니다. BSOD 오류는 대개 시스템이 커널 수준의 오류를 복구하지 못할 때 발생하며, 오류 메시지에는 해당 오류와 연관된 드라이버 정보를 비롯한 다양한 크래시 정보와 가능한 해결 방법이 함께 표시됩니다.
시스템이 충돌하면 Windows는 미니덤프(minidump) 파일을 생성하고, 오류 세부 정보가 담긴 메모리 데이터를 하드 드라이브에 저장하여 추후 디버깅에 활용합니다. Bluescreen View나 WinDbg 같은 도구를 사용하면 이러한 미니덤프 파일을 읽고 문제를 분석할 수 있습니다. 빠르고 간단한 분석에는 Bluescreen View가 적합하고, 보다 심층적인 분석이 필요하다면 WinDbg를 사용하는 것이 좋습니다.
Windows 디버거 도구(WinDbg)란?
WinDbg는 Windows 디버깅 도구라고도 불리는 다목적 디버거로, BSOD 충돌 후 생성된 모든 미니덤프 파일을 자동으로 검사합니다. 까다로운 오류에 대한 고급 분석에 사용되며, Windows 10 SDK의 일부로 무료로 다운로드할 수 있습니다. 충돌이 발생할 때마다 이 도구는 충돌 당시 로드되었던 드라이버와 기타 고급 크래시 정보를 제공하여 블루스크린 오류의 근본 원인을 진단하고 문제가 되는 드라이버를 찾아내는 데 도움을 줍니다. 이 글에서는 WinDbg를 사용하여 크래시 보고서를 읽는 방법을 설명합니다.
새로워진 WinDbg의 주요 기능

더 간편하고 부담 없는 인터페이스
WinDbg는 기존에 다소 어렵고 위압적인 느낌을 주는 도구였지만, 새 버전은 한층 개선되고 단순해진 인터페이스를 갖추고 있습니다. 초보자도 쉽게 이해할 수 있도록 특별히 재설계되었습니다.
예전에는 새 사용자가 도구 모음이나 메뉴에 익숙해지기가 쉽지 않았습니다. 새 버전에는 리본(Ribbon) 메뉴가 포함되어 있으며, 현재는 단순하지만 앞으로 디버깅 중에 맥락에 맞는 옵션들이 추가될 예정입니다.
새로운 파일 메뉴도 더 단순해져서 디버깅 세션을 시작하기 전에 옵션을 쉽게 선택할 수 있습니다. 첨부 대화상자 역시 더 간결하고 체계적으로 정리되었습니다. 또한 PLMDebug.exe를 별도로 설정하지 않고도 백그라운드 작업이나 스토어 앱을 실행할 수 있습니다.
개선 사항과 현대화
오랜만에 WinDbg에는 다크 테마, 창 개선, 최근 대상 목록 등 여러 가지 품질 향상과 현대화가 적용되었습니다.
눈부신 밝기를 줄여 WinDbg는 이제 많은 사용자가 선호하는 다크 테마를 제공합니다. 또한 새 버전의 WinDbg는 IP 주소나 KDNET 설정을 모니터에 붙여둔 포스트잇에 적어두지 않아도 되도록, 모든 설정과 최근 디버깅 세션을 자동으로 기억합니다. 최근 세션들은 파일 메뉴의 '최근 대상' 목록에 기록됩니다.
Microsoft는 창들이 더 동기화되도록 개선하여, 사용자가 다른 명령을 실행함으로써 로딩을 취소할 수 있게 했습니다. 그 외에도 다양한 창 관련 개선 사항이 포함되어 있습니다.
데이터 모델(Data Model)
기존에는 데이터 모델에 dx 명령과 JavaScript를 통해서만 접근할 수 있었지만, WinDbg Preview에서는 데이터 모델이 확장 가능해져 지역 변수(Locals) 및 조사식(Watch) 창을 강력하게 지원합니다. 이제 JavaScript 확장과 NatVis가 해당 창에 반영됩니다.
WinDbg Preview에는 '모달 창'이라는 새로운 창이 도입되어 @$cursession.Modules를 통해 자체 모듈 창을 활용할 수 있습니다. 또한 모든 모델 쿼리 결과를 표(table) 또는 계층 구조 보기로 표시합니다.
WinDbg에는 내장된 스크립팅 환경이 마련되어 있어 디버거에서 직접 NatVis와 JavaScript를 작성하고 실행할 수 있습니다.
Microsoft는 공식 블로그를 통해 새로운 기능과 개선 사항을 발표했지만, WinDbg는 아직 미리보기(preview) 버전이며 몇 가지 제한 사항이 있습니다. Windows 10 Anniversary Update가 설치된 장치에서만 Microsoft Store를 통해 설치할 수 있습니다.
새로운 WinDbg Preview의 작업 영역은 이전 버전과 많이 달라졌고 훨씬 개선되었지만, 미리보기 버전인 만큼 일부 버그나 오류가 있을 수 있으며 이는 추후 수정될 예정입니다.
WinDbg 사용 방법
WinDbg 설치하기
먼저 독립형 Windows 10 SDK를 다운로드합니다.
설치 프로그램을 실행하고 기본 설치 경로를 선택합니다.
사용권 계약에 동의한 후 Windows용 디버깅 도구(Debugging Tools for Windows) 기능을 선택하여 디버거를 설치합니다.

Install(설치) 버튼을 클릭합니다.
WinDbg로 블루스크린 오류 디버깅하기
시작 메뉴에서 WinDbg(x86)를 입력합니다.
WinDbg 도구를 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행을 선택합니다.
File(파일) 메뉴로 이동하여 Open Crash Dump(크래시 덤프 열기)를 클릭합니다.

C:\Windows\Minidump 경로로 이동하여 Minidump 폴더를 클릭합니다.
Minidump 폴더에서 열고자 하는 dmp 파일을 선택합니다.
WinDbg가 파일을 분석하는 동안 창 하단의 Debuggee not connected 메시지가 사라질 때까지 기다립니다.
명령 프롬프트에 !analyze -v를 입력하고 분석이 완료될 때까지 기다립니다.

더 자세한 드라이버 정보를 얻으려면 분석 결과에서 MODULE_NAME 항목을 찾아 드라이버 링크를 클릭합니다.
문제가 되는 드라이버를 확인했다면, 제조사 웹 페이지에서 해당 드라이버를 업데이트하거나 재설치하여 문제를 해결할 수 있습니다.
이 글이 도움이 되길 바랍니다!
참고(PS): John Carrona Sr.의 추가 팁입니다. 유효한 심볼 경로를 설정하지 않으면 심볼 오류가 발생합니다. 가장 간단한 방법은 File → Symbol File Path를 클릭하고 아래 경로를 입력하는 것입니다:
srv*c:\symbols*https://msdl.microsoft.com/download/symbols
이 작업은 WinDbg를 열 때마다 수행해야 하며, Workspace를 저장해 두면 매번 입력할 필요가 없습니다.
심볼을 설정하지 않았을 때 발생하는 오류 예시는 stackoverflow.com에서 확인할 수 있습니다.
함께 읽기: 시스템에서 디버거가 실행 중인 것으로 감지되었습니다.
