EXT_ANALYSIS_PLUGIN コールバック関数 (extsfns.h)
分析拡張機能を作成するときは、(_EFN_Analyze) としてエクスポートされたEXT_ANALYSIS_PLUGINを実装する必要があります。 !analyze デバッガー コマンドを実行すると、分析に参加できるように、各フェーズで_EFN_Analyzeが呼び出されます。
WINAPI (__stdcall) 呼び出し規則が必要です。 例外 (noexcept) は関数から離れる必要はありません。
構文
EXT_ANALYSIS_PLUGIN ExtAnalysisPlugin;
HRESULT ExtAnalysisPlugin(
[in] PDEBUG_CLIENT4 Client,
[in] FA_EXTENSION_PLUGIN_PHASE CallPhase,
[in] PDEBUG_FAILURE_ANALYSIS2 pAnalysis
)
{...}
パラメーター
[in] Client
IDebugClient4 インターフェイスへのポインター。 デバッガーにアクセスするには、このインターフェイスを使用します。 QueryInterface を使用して、レガシ ()、デバッグ ホスト (IDebug*
)、データ モデル (IDebugHost*
IDataModel*
) などの他のデバッガー インターフェイスにアクセスします。
[in] CallPhase
現在進行中の分析のフェーズを指定する FA_EXTENSION_PLUGIN_PHASE 列挙の値。 分析フェーズには、初期化、スタック分析、事前バケット化、バケット後などがあります。
[in] pAnalysis
IDebugFailureAnalysis2 インターフェイスへのポインター。 このインターフェイスを使用して、分析のプロパティを取得/設定します。 QueryInterface を使用して、他の !analyze インターフェイスにアクセスします。
戻り値
S_OK – 変更が行われました。
S_FALSE – 変更は行われませんでした。
E_* - エラーが発生しました。 !analyze では、"0x%08x" 形式の HRESULT の Plugin.Exception."Phase"."DLL"
Key 文字列と Value 文字列を使用して、Key/Value を使用してエラーが報告されます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | extsfns.h |