ドライバーの検証ツールを使用したカーネルモード メモリ リークの検出
ドライバー検証ツールは、カーネルモード ドライバーがメモリをリークしているかどうかを判断します。
ドライバー検証ツールのプール追跡機能は、指定されたドライバーによって行われたメモリ割り当てを監視します。 ドライバーがアンロードされると、ドライバー検証ツールは、ドライバーによって行われたすべての割り当てが解放されたことを確認します。 ドライバーの割り当ての一部が解放されていない場合は、バグ チェックが発行されます。このバグ チェックのパラメーターは問題の性質を示します。
この機能がアクティブな間は、ドライバー検証ツール マネージャーのグラフィカル インターフェイスを使用して、プール割り当ての統計情報を監視します。 カーネル デバッガーがドライバーにアタッチされている場合は、!verifier 0x3 拡張機能を使用して割り当ての統計情報を表示します。
ドライバーがダイレクト メモリ アクセス (DMA) を使用している場合、ドライバー検証ツールの DMA 検証機能はメモリ リークの検出にも役立ちます。 DMA 検証は、一般的なバッファーの解放の失敗やメモリ リークにつながる可能性があるその他のエラーなど、DMA ルーチンのよくある誤用をテストします。 このオプションがアクティブな状態でカーネル デバッガーがアタッチされている場合は、!dma 拡張機能を使用して割り当ての統計情報を表示します。
ドライバー検証ツールの詳細については、Windows ドライバー キット (WDK) ドキュメントの「ドライバー検証ツール」を参照してください。