静的ドライバー検証ツール

静的ドライバー検証ツール (「StaticDV」または「SDV」とも呼ばれます) は、Windows カーネル モードのドライバーのソース コードを系統的に分析する静的検証ツールです。 SDV は、ドライバーの欠陥や設計上の問題を検出できるコンパイル時ツールです。 SDV は、一連のインターフェイス ルールとオペレーティング システムのモデルに基づいて、ドライバーが Windows オペレーティング システムカーネルと正しくやり取りしているかどうかを判断します。

静的ドライバー検証ツールのインストール

静的ドライバー検証ツールは、Windows Driver Kit (WDK) の一部として、完全な WDK 体験版とスタンドアロンの Enterprise WDK の両方で利用できます。 また、SDV を実行するには、Visual Studio 用の Visual C++ 再頒布可能パッケージ パッケージが必要です。 以下を参照してください:

Windows 10 バージョン 1809 またはそれ以前の WDK で使用可能な SDV のバージョンでは、2017 パッケージの代わりに Visual Studio 2012 の Visual C++ 再頒布可能パッケージをインストールする必要があります。

Visual Studio の統合

静的ドライバー検証ツールは、Visual Studio に統合されています。 Visual Studio ドライバー プロジェクトで静的分析を実行できます。 静的ドライバー検証ツールは、Visual Studio の [ドライバー] メニューから、起動、構成、制御できます。

静的ドライバー検証ツールのドキュメント

Windows ドライバー コードでのバグの検出

Microsoft では、SDV を使用して、Microsoft Windows オペレーティング システムに含まれるカーネル モード ドライバーをテストし、また、WDK のサンプル ドライバーをテストします。 特定のドライバー モデルに対して DDI コンプライアンス ルールを使用することで、SDV はドライバーの正常な動作を確認できます。 たとえば、SDV は次の項目でドライバーを確認できます。

  • 正しい IRQL で関数を呼び出す
  • 正しいシーケンスでロックを取得および解放する
  • I/O 要求パケット (IRP) を処理する関数を正しく使用する

SDV は、ドライバー コードを通じて、利用可能なすべてのパスを調べます。 これは、徹底的にテストしても遭遇する可能性が低いあいまいなパスで、重大なエラーを発見するために設計されています。

その他のリソース

SDV で検証できるドライバーの詳細については、「サポートされているドライバー」を参照してください。

静的ドライバー検証ツールの使用に関する詳細とヒントについては、次を参照してください。