次の方法で共有


静的ドライバー検証ツールのエラー メッセージ

このセクションでは、表示されることが多い SDV のエラー メッセージの意味を説明し、その解決方法を示します。

Visual Studio から SDV を起動すると、次のエラーが表示されることがあります。

  • SDV は非デバッグ構成でのみ動作します: メッセージに示されているように、SDV は非デバッグ設定で実行する必要があります。 プロジェクトが [リリース] 構成に設定されていることを確認するか、使用できない場合は作成して SDV を再起動してください。
  • 利用可能なルールの読み込み中にエラーが発生しました: SDV では、ドライバー モデルのルールが見つからないか、ドライバー モデルを正常に判断できません (ドライバーが WDM、KMDF、NDIS、Storport ドライバーではない場合、その可能性が高い)。 WDK が正しくインストールされていれば、コマンドラインから SDV を直接実行することにより、このエラーを回避できる場合があります。詳細は、「静的ドライバー検証ツール コマンド (MSBuild)」を参照してください。
  • SDV は、ドライバー ディレクトリをクリーンアップできませんでした: 場合によっては、[クリーンアップ] ボタンをクリックしても、アクセス許可エラーによって SDV がドライバー ディレクトリから古い結果を正常にクリーニングできないことがあります。 このエラーは、以前に実行された SDV ファイルが現在使用されている場合にも発生します。 ドライバー ディレクトリの SDV ファイルが何も使用されていないことを確認してから、「sdv」フォルダー、「sdv.temp」フォルダー、すべての「staticdv.job」ファイルをすべて削除します。

SDV で解析の試行中にエラーが発生した場合、エラーのステージが標準出力に出力されます。 Visual Studio GUI から SDV を実行している場合は、[警告] タブに切り替えると、この出力を確認できます。

SDV でエラーが発生する可能性があるステージは次のとおりです。

  • NormalBuild: SDV は、標準の MSBuild コマンドを使用してドライバーをビルドできませんでした。 これは、特殊なビルド ロジックがある場合、プロジェクト ファイル内のソリューション要素に依存している場合、または外部ビルド コンポーネントがある場合に発生する場合があります。 プロジェクトが $(SolutionDir) プロパティに依存している場合は、コマンド ラインから SDV を再実行し、MSBuild コマンドの最後に /p:SolutionDir=[your solution dir] 追加することにより、この変数を直接指定できます。 詳細については、「静的ドライバー検証ツール (MSBuild)」を参照してください。
  • InterceptedBuild: SDV は、解析用のドライバーをビルドできませんでした。
  • Scan: SDV は、ドライバーのエントリ ポイントを見つけることができませんでした。 ここでのエラーは、エントリ ポイントが見つからなかったことを示している可能性があり、関数の roletypes または sdv-map.h を更新する必要があります。 詳細については、「関数ロールの型宣言の使用「および「Sdv-map.h ファイルの承認」を参照してください。
  • FinalCompile: SDV は、ルールと OS モデルを使用してドライバーをコンパイルできませんでした。
  • CheckRule: SDV は、ルールを正しく検証できませんでした。

SDV の診断を有効にすると、エラーの詳細を確認できる場合があります。 詳細については、「静的ドライバー検証ツールの診断」を参照してください。