共用方式為


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

另請參閱

撰寫自定義分析調試程式擴充功能

撰寫分析延伸模組外掛程式以擴充 !analyze