共用方式為


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 的索引鍵字串和 Value 字串 Plugin.Exception."Phase"."DLL" ,透過索引鍵/值來報告錯誤。

規格需求

需求
目標平台 桌面
標頭 extsfns.h

另請參閱

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

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