Condividi tramite


EXT_ANALYSIS_PLUGIN funzione di callback (extsfns.h)

Quando si scrive un'estensione di analisi, è necessario implementare un EXT_ANALYSIS_PLUGIN esportato come (_EFN_Analyze). Quando il comando !analizza debugger viene eseguito, chiama il _EFN_Analyze in ogni fase, in modo che sia possibile partecipare all'analisi.

È necessaria la convenzione di chiamata WINAPI (__stdcall). Nessuna eccezione (noexcept) deve lasciare la funzione.

Sintassi

EXT_ANALYSIS_PLUGIN ExtAnalysisPlugin;

HRESULT ExtAnalysisPlugin(
  [in] PDEBUG_CLIENT4 Client,
  [in] FA_EXTENSION_PLUGIN_PHASE CallPhase,
  [in] PDEBUG_FAILURE_ANALYSIS2 pAnalysis
)
{...}

Parametri

[in] Client

Puntatore a un'interfaccia IDebugClient4 . Usare questa interfaccia per accedere al debugger. Usare QueryInterface per accedere ad altre interfacce debugger, ad esempio Legacy (), Debug Host (IDebug*), Data Model (IDebugHost*IDataModel*) e così via.

[in] CallPhase

Valore nell'enumerazione FA_EXTENSION_PLUGIN_PHASE che specifica quale fase dell'analisi è attualmente in corso. Le fasi di analisi includono inizializzazione, analisi dello stack, pre-bucketing e post-bucketing.

[in] pAnalysis

Puntatore a un'interfaccia IDebugFailureAnalysis2 . Usare questa interfaccia per ottenere/impostare le proprietà dell'analisi. Usare QueryInterface per accedere ad altre interfacce !analyze.

Valore restituito

S_OK: è stata apportata una modifica.

S_FALSE : non sono state apportate modifiche.

E_* - Si è verificato un errore. !analizza segnala l'errore tramite Chiave/Valore usando una stringa Chiave di Plugin.Exception."Phase"."DLL" e La stringa Valore di HRESULT nel formato "0x%08x".

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione extsfns.h

Vedi anche

Scrittura di estensione del debugger di analisi personalizzata

Scrittura di un plug-in dell'estensione di analisi per estendere !analizza