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 viene eseguito il comando !analyze debugger, chiama il _EFN_Analyze in ogni fase, in modo da poter 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 del debugger, ad esempio legacy (IDebug*), host di debug (IDebugHost*), modello di dati (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 l'inizializzazione, l'analisi dello stack, il pre-bucket e il 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. !analyze 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".

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione extsfns.h

Vedere anche

scrittura di dell'estensione del debugger di analisi personalizzata

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