プール破損を検知する

目次

本記事はマイクロソフト社員によって公開されております。
いつも弊社製品をご利用いただきまして誠にありがとうございます。Windows プラットフォーム サポートの栗木です。
今回は、Windows OS に標準でインストールされている Driver Verifier ツールにより、プール破損を検知する方法をご紹介いたします。

Driver Verifier について

Driver Verifier はドライバ開発者用のテスト ツールであり、ドライバによるメモリへの読み書きなどを監視し、不正な処理を検知すると BSoD (ブルースクリーン) を発生させます。Driver Verifier でプールを監視することにより不正なメモリ アクセス処理が行われたタイミングでメモリ ダンプが生成されるため、このメモリ ダンプを解析することにより、プール破損の原因を特定できる場合がございます。

ただし、Driver Verifier はパフォーマンス低下や別問題の STOP エラーが発生するリスクがありますので、以下の注意事項を確認し、検証環境で現象再現試験を行うか、運用環境と同じ構成の検証環境で十分に事前検証を行ったうえで 本番環境に設定することをご検討ください。

注意事項
・監視期間中はシステムに負荷がかかり、パフォーマンスが低下する可能性があります。
・システムへの影響がない処理でも STOP エラーが発生する可能性があります。
・Driver Verifier の設定を行った状態でも問題を検知できない可能性があります。

また、BSoD (ブルースクリーン) が発生した際にメモリ ダンプを出力させるため、本記事でご紹介する Driver Verifier 設定の他にメモリ ダンプの出力設定も別途必要になります。

完全メモリ ダンプの出力設定
https://jpwinsup.github.io/blog/2021/02/15/Performance/Hang_BSOD/MemoryDump/

Driver Verifier 有効化手順

  1. [スタート] メニューから [ファイル名を指定して実行] を選択し、“verifier.exe” を指定して [OK] ボタンを押します。

  2. “ドライバの検証ツール マネージャ” が起動したら、[カスタム設定を作成する (コード開発者用)] をクリックし、[次へ] をクリックします。

  3. 特別なプールとプールのトラックの項目にチェックを付け、[次へ] をクリックします。

  4. [このコンピュータにインストールされているドライバーをすべて自動的に選択する] をクリックし、[完了] をクリックします。

  5. “変更を有効にするには、コンピュータを再起動する必要があります。” というダイアログボックスが表示されますので、[OK] を押します。

  6. コンピュータを再起動します。再起動後に Driver Verifier の設定が有効になります。

以上で設定は完了になります。これにより、プール破損を検知したら、BSoD が発生するようになります。 調査が完了しましたら、Driver Verifier 無効化手順により、Driver Verifier を無効化してください。

Driver Verifier 無効化手順

  1. [スタート] メニューから [ファイル名を指定して実行] を選択し、“verifier.exe” を指定して [OK] ボタンを押します。

  2. “ドライバの検証ツール マネージャ” が起動したら、[既存の設定を削除する] を選択し、[完了] をクリックします。

  3. 確認のダイアログ ボックスが表示されますので、[はい] をクリックします。

  4. “変更を有効にするには、コンピュータを再起動する必要があります。” というダイアログボックスが表示されますので、[OK] を押します。

  5. コンピュータを再起動します。

本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。