注
このチェックは、Windows 10 ビルド 19042 以降では非推奨です
Power Framework Delay Fuzzing オプションは、 電源管理フレームワーク (PoFx) を使用するドライバーのコンカレンシーのバグを検出するために、スレッド スケジュールをランダム化します。 このオプションは、電源管理フレームワーク (PoFx) を直接利用しないドライバーには推奨されません。
手記 このオプションは、Windows 8 以降で使用できます。
このオプションを選択すると、ドライバー検証ツールはスレッド内のさまざまなポイントにランダムな遅延を挿入します。 Power Framework Delay Fuzzing オプションでは、ドライバーのエラーを検出するための確率論的保証を提供するアルゴリズムが使用されます。 Power Framework Delay Fuzzing は、テスト プログラムを数日または数週間実行する従来のストレス テストに比べて、同時実行で発生する可能性のある問題を効率的に検出できるようにした手法です。
ほとんどのドライバー ルーチンは再入可能で、並行している。 並行処理のバグは、見つけるのが難しいことで知られています。 バグには、同期の問題やスレッド間のタイミングの悪さによって発生するデッドロックや競合状態が含まれる場合があります。 ストレス テストは従来のテスト手法ですが、低速でコストがかかる場合があり、結果が常に再現可能であるとは限りません。 Power Framework Delay Fuzzing オプションは、様々な Power API 関数呼び出しでランダムに遅延を挿入することで、実行時にレースコンディションが発生する確率を高めます。 たとえば、競合状態が原因でドライバーがIRPの取消後にもアクセスしてしまう場合、Power Framework Delay Fuzzingオプションは、この競合状態の発生確率を上げ、ドライバー検証ツールがテスト中にエラーを検出できるようにします。 Power Framework Delay Fuzzing オプションは、ドライバー検証ツールの機能と有用性を拡張します。
このオプションのアクティブ化
ドライバー検証ツール マネージャーまたは Verifier.exe コマンド ラインを使用して、1 つ以上のドライバーの Power Framework 遅延ファジー機能をアクティブ化できます。 詳細については、「 ドライバー検証ツールオプションの選択」を参照してください。 Power Framework Delay Fuzzing オプションをアクティブ化または非アクティブ化するには、コンピューターを再起動する必要があります。
手記 Power Framework Delay Fuzzing オプションは、さまざまな Power API 関数呼び出しでランダム化された遅延を挿入することで、実行時に競合状態が現れる確率を高めます。 これらの遅延をより効果的にするには、他のドライバー検証ツール オプションでこのオプションを有効にすることができます。 発生する可能性がある遅延のため、コンピューターの応答が遅くなる可能性があります。
コマンド ラインで
コマンド ラインでは、Power Framework Delay Fuzzing は 検証ツール /flags 0x00008000 (ビット 15) で表されます。 Power Framework Delay Fuzzing をアクティブにするには、0x00008000のフラグ値を使用するか、フラグ値に0x00008000を追加します。 例えば次が挙げられます。
verifier /flags 0x00008000 /driver MyDriver.sysこの機能は、次の起動時にアクティブになります。
ドライバー検証ツール マネージャーの使用
- ドライバー検証ツール マネージャーを起動します。 コマンド プロンプト ウィンドウに 「Verifier 」と入力します。
- (コード開発者向けの) [カスタム設定の作成] を選択し、[次へ] をクリックします。
- 完全な一覧から [個々の設定を選択] を選択します。
- Power Framework の遅延ファジングを選択・チェックします。
- コンピューターを再起動します。