EXT_ANALYSIS_PLUGIN función de devolución de llamada (extsfns.h)
Al escribir una extensión de análisis, debe implementar una EXT_ANALYSIS_PLUGIN exportada como (_EFN_Analyze). Cuando se ejecuta el comando !analyze debugger, llama a la _EFN_Analyze en cada fase, de modo que pueda participar en el análisis.
Se requiere la convención de llamada de WINAPI (__stdcall). Ninguna excepción (noexcept) debe dejar la función .
Sintaxis
EXT_ANALYSIS_PLUGIN ExtAnalysisPlugin;
HRESULT ExtAnalysisPlugin(
[in] PDEBUG_CLIENT4 Client,
[in] FA_EXTENSION_PLUGIN_PHASE CallPhase,
[in] PDEBUG_FAILURE_ANALYSIS2 pAnalysis
)
{...}
Parámetros
[in] Client
Puntero a una interfaz IDebugClient4 . Use esta interfaz para acceder al depurador. Use QueryInterface para acceder a otras interfaces del depurador, como el heredado (IDebug*
), el host de depuración (IDebugHost*
), el modelo de datos (IDataModel*
), etc., las interfaces.
[in] CallPhase
Valor de la enumeración FA_EXTENSION_PLUGIN_PHASE que especifica qué fase del análisis está actualmente en curso. Las fases de análisis incluyen la inicialización, el análisis de pila, la creación previa de depósitos y la creación posterior.
[in] pAnalysis
Puntero a una interfaz IDebugFailureAnalysis2 . Use esta interfaz para obtener o establecer propiedades del análisis. Use QueryInterface para acceder a otras interfaces !analyze.
Valor devuelto
S_OK : se realizó un cambio.
S_FALSE : no se realizaron cambios.
E_* : error. !analyze notificará el error a través de Key/Value mediante una cadena key de Plugin.Exception."Phase"."DLL"
y Value de hrESULT en formato "0x%08x".
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | extsfns.h |
Consulte también
Escritura de la extensión del depurador de análisis personalizado
Escribir un complemento de extensión de análisis para ampliar !analyze