PREfast for Drivers

PREfast for Drivers (Prefast.exe) は、一般的なコンパイラでは容易に発見できない特定のクラスのエラーを検出する静的ソース コード分析ツールです。PREfast for Drivers には、C や C++ のプログラムに共通の基本的なコーディング エラーを検出するコンポーネントである PREfast、およびカーネル モード ドライバのコードのエラーを検出するよう設計された特別なドライバ モジュールが含まれています。

PREfast は、各関数内の実行される可能性のあるすべてのパスをステップごとにたどり、実行をシミュレートして、問題があるかどうか各パスを評価することにより、C および C++ のソース コードを解析します。PREfast は、実際にはコードを実行せず、生じる可能性のあるすべてのエラーを見つけることはできません。ただし、コンパイラが無視する可能性のあるエラーや、デバッグ中には見つけることの難しいエラーを見つけることはできます。

PREfast for Drivers は、ドライバ固有の問題をチェックします。たとえば、正しい割り込み要求レベル (IRQL)、優先ドライバ ルーチンの使用、およびドライバ ルーチンの誤用をチェックするほか、メモリ リークおよびロックなどのその他のリソースのリークをより徹底してチェックします。PREfast for Drivers は、コメントを使用したコードの分析をサポートし、コメント付き関数が意図したとおりに使用されているかどうかについての情報を PREfast に提供します。これによって、PREfast は、特定のバグが存在するかどうかをより判定しやすくなります。

PREfast for Drivers は、Microsoft Windows Server 2003 SP1 DDK および Windows Driver Kit (WDK) で提供されます。

PREfast 全般
ホワイト ペーパーPREfast Step-by-Step (V8.0)
ホワイト ペーパーPREfast のコメント
ホワイト ペーパー関数の typedef を C++ ドライバ コードで使用して、PREfast の結果を向上させる方法
WHDC ポータル/ノードStatic Driver Verifier
その他『Developing Drivers with Windows Driver Foundation』Orwick、Smith 共著
Microsoft Press 刊の包括的なガイド

静的解析ツール - WinHEC 2007
Microsoft Powerpoint (.ppt)Static Analysis and Verification of Drivers [WinHEC 2007; 8.6 MB]
Microsoft Powerpoint (.ppt)Static Analysis Tools: PREfast for Drivers [WinHEC 2007; 1.2 MB]

ドライバ開発用の静的ツール - WHDC ラボ
ダウンロード可能PREfast for Drivers: WHDC Lab [388 KB]
ダウンロード可能Static Driver Verifier for KMDF Drivers: WHDC Lab [242 KB]
ダウンロード可能Static Driver Verifier for WDM Drivers: WHDC Lab [366 KB]


パーソナル コンピュータでお困りですか?