はじめてのWindows クラッシュダンプ解析

  • 投稿日:
  • by
  • カテゴリ:

Windows 10のマシンがブルースクリーンになってしまって、再発すると困るので見てみました。 ググってみるとちょっと見てみるところまでは簡単にできそうだったのでやってみました。

結果はDPCウォッチドッグに引っかかっているみたい。(以下は、!analyze -vの抜粋)

DPC_WATCHDOG_VIOLATION (133)
The DPC watchdog detected a prolonged run time at an IRQL of DISPATCH_LEVEL
or above.
Arguments:
Arg1: 0000000000000000, A single DPC or ISR exceeded its time allotment. The offending
    component can usually be identified with a stack trace.
Arg2: 0000000000000501, The DPC time count (in ticks).
Arg3: 0000000000000500, The DPC time allotment (in ticks).
Arg4: fffff8003376e350, cast to nt!DPC_WATCHDOG_GLOBAL_TRIAGE_BLOCK, which contains
    additional information regarding this single DPC timeout

そしてkの結果には以下の文字列が。

rt640x64!MpHandleRecvIntPriVLanJumbo+0xb41
rt640x64!MPHandleMessageInterrupt

ここを見ると、スタックとレースのちょっと下で読んでる関数が問題なんだろうとわかるので、Realtekのドライバかなと思って、RT640x64でググってみるとやっぱりRealtekのドライバでした。最新のドライバにしてみたら?とコメントもあるし、そういえばMicrosoftから提供されているドライバしか入れてないなと思ったのでインストールしてみました。 これで安定してくれると良いなぁ。。

なお、ドライバインストールをそのNICを使ってリモートデスクトップでログインしながらやったので、途中で通信止まってしまいましたが少ししたらまたつながって一安心というのをしました。 さらに、PriVLANという文字列があったので、「優先度およびVLAN」という設定を無効にしたら、またしても一瞬通信が途絶えて、「あっ」ってなってしまいました。ちなみにジャンボフレームは無効になっていました。

ドライバの場所

https://www.realtek.com/ja/component/zoo/advanced-search/80?Itemid=389

デバッグ方法、他

日本語ページのリンクにしてますが、読みにくいので英語版で読む方が良いような気がします。。

メモリダンプに !analyze -v するまで・前編 ~ ダンプの取り方~ WinDbg を使用してクラッシュダンプファイルを分析する Stop エラーまたはブルー スクリーン エラーに対する高度なトラブルシューティング ドライバーの検証ツール ドライバー検証ツール !analyze !analyze 拡張機能の使用 バグ チェック 0x133 DPCウォッチドッグ違反

ダウンロード用シンボルのURL設定 SRVc:\websymbolshttp://msdl.microsoft.com/download/symbols

合わせて読みたい

キーボード操作でメモリ ダンプ ファイルを作成できる Windows の機能 DriverObject と DriverEntry ダンプファイルに保存された ETW トレースログを表示する ダンプファイルに保存されたイベントログを取り出す