!analyze (WinDbg)
!analyze 拡張機能には、現在の例外またはバグのチェックに関する情報が表示されます。
ユーザーモード
!analyze [-v[0..99]] [-f | -hang]
!analyze [-v[0..99]] -xml [-xmi] [-xcs] [-xmf OutputXmlFile]
!analyze -c [-load KnownIssuesFile | -unload | -help ]
カーネルモード
!analyze [-v[0..99]] [-f | -hang]
!analyze -show BugCheckCode [BugParameters]
!analyze [-v[0..99]] -xml [-xmi] [-xcs] [-xmf OutputXmlFile]
!analyze -c [-load KnownIssuesFile | -unload | -help ]
一般的なパラメーター
-v[0..99]
詳細出力を表示します。 0 ~ 99 の数値を指定すると、詳細情報を表示できます。 数値を指定しない場合、デフォルト値は 1 です。 また、Very Verbose (-vv) を指定して、使用可能なすべての情報を表示することもできます。
ユーザー モードの場合、 -v6 には、グローバルおよび各スレッドで検出された内容が表示されます。
-f
!analyze 例外出力を生成します。 デバッガーで例外が検出されない場合でも、このパラメーターを使用して例外分析を確認します。
-下がる
ハングしたアプリケーションの出力 !analyze を生成します。 ターゲットでバグチェックまたは例外が発生した場合は、このパラメーターを使用します。 ただし、アプリケーションがハングした理由の分析は、問題により関連性が高くなります。 カーネル モードでは、 !analyze ハング システムが保持しているロックを調査し、DPC キュー チェーンをスキャンします。 ユーザー モードでは、 !analyze ハング はスレッド スタックを分析して、スレッドが他のスレッドをブロックしているかどうかを判断します。
この拡張機能をユーザー モードで実行する前に、現在のスレッドを、応答が停止した (つまりhungした) と思われるスレッドに変更することを検討してください。 例外によって現在のスレッドが別のスレッドに変更された可能性があるため、この変更を行う必要があります。
パラメーターの表示
-show BugCheckCode
[BugParameters]
によって指定されたバグ チェックに関する情報を表示します BugCheckCode
。 BugParameters
最大 4 つのバグ チェック パラメータをスペースで区切って指定します。 これらのパラメーターを使用すると、検索をさらに絞り込むことができます。
実行パラメーターの続行
-c
デバッガーで既知の問題が発生したときに実行を続行します。 問題が既知の問題でない場合は、デバッガーがターゲットに分割メイン。
-cオプションは次のサブパラメータとともに使用できます。 これらのサブパラメーターは、既知の問題の一覧を構成します。 実行が単独で発生することはありません。 !analyze -c **** -load を少なくとも 1 回実行するまで、!analyze -c は効果がありません。
-load KnownIssuesFile
指定した既知の問題ファイルを読み込みます。 KnownIssuesFile
このファイルのパスとファイル名を指定します。 XML は次の形式にする必要があります。
KnownIssuesFile
ファイル内の既知の問題の一覧は、-c -unload を使用するか、-c -load を再度使用するまで (新しいデータが古いデータを置き換える時点) まで、以降のすべての -c コマンドで使用されます。
-アンロード
既知の問題の現在の一覧をアンロードします。
-help
Debugger コマンド ウィンドウに、!analyze -c 拡張コマンド拡張機能のヘルプが表示されます。
XML 読み込みオプションパラメーター
-xml
XML 形式で分析出力を生成します。
-xmi
モジュール情報を xml 出力に追加します。 このオプションには -xml または -xmf が必要です。
-xcs
xml 出力にコンテキスト フレームと呼び出し履歴フレームを追加します。 このオプションには -xml または -xmf が必要です。
-xmf OutputXmlFile
分析を指定された OutputXmlFile
に XML 形式で書き込みます。 ファイルが既に存在している場合は上書きされます。 xml オプションも指定されていない限り、コンソールまたはログに対する分析出力は生成されません。
DLL
ext.dll
追加情報
ユーザー モード例外とカーネル モード停止エラー (つまり、クラッシュ) の分析サンプル、および!analyze による triage.ini ファイルの使用方法の詳細については、「!analyze 拡張機能の使用」を参照してください。
解説
ユーザー モードでは、 !analyze は現在の例外に関する情報を表示します。
カーネル モードでは、!analyze は最新のバグ チェックに関する情報を表示します。 バグチェック発生した場合は、!analyze 表示が自動的に生成されます。 !analyze -v を使用すると、追加情報を表示できます。 基本的なバグ チェック パラメータのみを表示したい場合は、.bugcheck (バグ チェック データの表示) コマンドを使用できます。
ユーザー モード ドライバー フレームワーク (UMDF) バージョン 2.15 以降を使用するドライバーの場合、!analyze は UMDF 検証ツールのエラーとハンドルされない例外に関する情報を提供します。 この機能は、カーネル モードのライブ デバッグを実行するとき、およびユーザー モードのメモリ ダンプ ファイルを分析するときに使用できます。 UMDF ドライバーがクラッシュした場合、 !analyze は責任のあるドライバーを識別しようとします。