Skip to content

基本からデバッグまで

基本07 ブルースクリーンの解析

デバイスドライバをはじめ、デバイスにかかわるお困りごとの際はお気軽にお問い合わせください。


1.BSODとは

Blue Screen of Deathの略で、ハードウェアやカーネルドライバなどに重大な問題が発生した際に表示される画面です。データの損失やコンピュータの損傷を防ぐために強制的にシャットダウン、または再起動されます

BSODが発生するとWindowsは自動でダンプファイルを生成します。

ダンプファイルを解析することで、BSOD発生の原因となるモジュールや関数を特定することができます。
本章では、WinDbgを使用してカーネルメモリダンプを解析します。

 

2.NotMyFaultのインストール

NotMyFaultMicrosoftが無償提供しているツールで、意図的にBSOD (ブルースクリーン)を発生させることが出来ます。下記のサイトでダウンロードが可能です。
https://docs.microsoft.com/en-us/sysinternals/downloads/notmyfault

 

3.High IRQL Fault(Kernel-mode)を選択して仮想マシンをクラッシュさせる

対象のPCNotMyFaultを起動し、High IRQL FaultKernel-mode)を選択し「Crash」ボタンを押下するとBSODが発生します。
ダンプファイルの出力先のパスはデフォルトで"%SystemRoot%\MEMORY.DMP"です。
設定によって任意のパスに変更できます。

 

 

4.WinDbgで解析

WinDbgを起動し、生成されたダンプファイルを開きます。
すると、WinDbgのコマンドウインドウにて、以下のように出力されます。

*** Fatal System Error: 0x000000d1

(0xFFFFC50FBC063010,0x0000000000000002,0x0000000000000000,0xFFFFF80711CC12D0)

Driver at fault: myfault.sys.
Break instruction exception - code 80000003 (first chance)

A fatal system error has occurred.
Debugger entered on first try; Bugcheck callbacks have not been invoked.

A fatal system error has occurred.

For analysis of this file, run !analyze -v
nt!DbgBreakPointWithStatus:
fffff807`0f61edb0 cc             int     3

エラーの概要が示されており、!analyze -vをクリックすることで、さらに詳細な内容を解析することが出来ます。