次の方法で共有


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

このセクションでは、より頻繁に表示される 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=[solution dir] を追加してコマンド ラインに追加することで、この変数を直接指定できます。 静的ドライバー検証ツール コマンド (MSBuild) を参照してください。
  • InterceptedBuild: SDV は、分析用のドライバーをビルドできませんでした。
  • スキャン: SDV がドライバーのエントリ ポイントを見つけることができませんでした。 ここでのエラーは、エントリ ポイントが見つからなかったことを示している可能性があり、関数の roletypes または sdv-map.h を更新する必要があります。 詳細については、 関数ロール型宣言の使用Sdv-map.h ファイルの承認 を参照してください。
  • FinalCompile: SDV は、ルールと OS モデルを使用してドライバーをコンパイルできませんでした。
  • CheckRule: SDV が規則を正しく検証できませんでした。

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