コード分析および検証ツールを使用したドライバーの分析

コード分析および検証ツールは、ソース コードを系統的に分析することで、ドライバーの安定性と信頼性を向上させるのに役立ちます。 コード分析および検証ツールは、コンパイラーや従来のランタイム テストでは見逃されるエラーを検出できます。 さらに、ドライバーが Windows オペレーティング システムのカーネルと正しく対話するかどうかを判断できます。 Microsoft Visual Studio と Windows Driver Kit (WDK) を使用すると、ビルド プロセスの一部として実行されるようにコード分析および検証ツールを構成したり、あらかじめ決められた時間にドライバーを分析するツールをスケジュールしたりできます。

Windows ドライバー用 C/C++ コード分析ツール

Windows 8 リリースの WDK には、Visual Studio に含まれている C/C++ コード分析ツールの拡張機能が用意されています。 具体的には、WDK は、カーネル モード ドライバー コードのエラーを検出するように設計された特殊なドライバー モジュールを提供します。 このドライバー モジュールは、C/C++ コード分析ツールに統合されています。

いつ使用するか: コードが正しくコンパイルされたらすぐに、開発サイクルの非常に早い段階でドライバーの C/C++ コード分析ツールを実行できます。

Visual Studio のコード分析ツールについては、次を参照してください。

以前のバージョンの WDK では、コード分析用のドライバー固有のモジュールが、PREfast for Drivers (PFD) と呼ばれるスタンドアロン ツールに組み込まれていました。 PREfast for Drivers は、Microsoft Automated Code Review (OACR) の一部として WDK Build 環境にも統合されました。

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

静的ドライバー検証ツール (SDV) は、Windows カーネル モードのドライバーのソース コードを系統的に分析する静的検証ツールです。 SDV は、ドライバーが Windows オペレーティング システムのカーネルと適切にやり取りしているかどうかを判定します。 SDV は、Visual Studio の [ドライバー] メニューまたは Visual Studio コマンド プロンプト ウィンドウから起動できます。

いつ使用するか: 正しくコンパイルされたドライバーに対して、開発サイクルの早い段階で Static Driver Verifier を実行します。 テスト サイクルを開始する前に、Static Driver Verifier を実行します。

静的ドライバー検証ツールについては、以下を参照してください。