EXT_ANALYSIS_PLUGIN回呼函式 (extsfns.h)
當您撰寫 Analysis Extension時,您必須實作導出為 (_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 Plugin.Exception."Phase"."DLL"
%08x” 格式的 HRESULT 索引鍵字串和 HRESULT 的索引鍵字串,透過索引鍵/值來報告錯誤。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | extsfns.h |