ブルースクリーンの原因のほとんどがドライバーか、またはハードウェアの不具合です。
という事で一般的なドライバー開発時に、ブルースクリーンエラーの原因を究明する手順を紹介します。
環境構築だけで1日ぐらいはかかり、場所の準備や環境構築もなかなか大変です。なおかつドライバーのソースコードが無い場合は、原因はわかっても問題の根本的解決にはならないので、興味本位でだけあれば、お勧めしません。
1.比較的新しいデスクトップ型PCを最低2台、出来れば予備を含めて 5~6台 用意します。
2.全てのPCにWindows を新規インストールしてWindows Updateで最新に更新します。
3.ホスト側 PCに Visual Studio/SDK/WDK をインストールして、最新に更新します。
4.用意したPCのターゲット側に、開発中または動作怪しいデバッグ対象のドライバー、ハードウェアやセキュリティーソフトをインストールします。
5.用意したPCのホスト側に、デバッグ対象のドライバー、ハードウェアやセキュリティーソフトのソースコードを配置、WinDBG/Visual Studio を該当ソースコードのデバッグ用に起動してターゲットPCの動きを観察します。
6.ターゲットPCを操作して、ブルースクリーンを発生させるか、発生するのを待ちます。
7.ブルースクリーン発生で、ホストPCのWinDBG/Visual Studio に制御が来る(ブレークする)のでデバッグします。
8.原因の目星が付くか、コードの改良があれば、ソースコードを修正してビルドして、4番からやり直しします。
以前、私が開発したドライバーのお客様では、1日2回程度しか発生しない PCIボードとマザーボードの相性問題(新型マザーボード ハードウェア原因)が原因のブルースクリーンの解決に、5台ぐらいのターゲットで約3か月ほぼ毎日走行実験をして、解決させました。ということで、時間と手間をかければ解決しないブルースクリーンは無いと思います。頑張ってください。
参考情報)
Windows ドライバーのデバッグ - ステップ バイ ステップ ラボ
開発時は実際は プロビジョニング を使うのでもっと複雑です。