IDebugExpression2

Esta interfaz representa una expresión analizada lista para enlazar y evaluar.

Sintaxis

IDebugExpression2 : IUnknown

Notas para los implementadores

El motor de depuración (DE) implementa esta interfaz para representar una expresión analizada lista para evaluarse.

Notas para autores de la llamada

Una llamada a ParseText devuelve esta interfaz. GetExpressionContext devuelve la interfaz IDebugExpressionContext2 . Estas interfaces solo son accesibles cuando se ha pausado el programa que se está depurando y hay disponible un marco de pila.

Métodos en orden de Vtable

En la tabla siguiente se muestran los métodos de IDebugExpression2.

Método Descripción
EvaluateAsync Evalúa esta expresión de forma asincrónica.
Abort Finaliza la evaluación de expresiones asincrónicas.
EvaluateSync Evalúa esta expresión de forma sincrónica.

Comentarios

Cuando un programa se ha detenido, el administrador de depuración de sesión (SDM) obtiene un marco de pila del DE con una llamada a EnumFrameInfo. A continuación, SDM llama a GetExpressionContext para obtener la interfaz IDebugExpressionContext2 . Esto va seguido de una llamada a ParseText para crear la IDebugExpression2 interfaz, que representa la expresión analizada lista para evaluarse.

El SDM llama a EvaluateSync o EvaluateAsync para evaluar realmente la expresión y generar un valor.

En una implementación de IDebugExpressionContext2::ParseText, el DE usa la función com CoCreateInstance para crear instancias de un evaluador de expresiones y obtener una interfaz IDebugExpressionEvaluator (vea el ejemplo en la IDebugExpressionEvaluator interfaz). A continuación, el DE llama a Parse para obtener una interfaz IDebugParsedExpression . Esta interfaz se usa en la implementación de IDebugExpression2::EvaluateSync y IDebugExpression2::EvaluateAsync para realizar la evaluación.

Requisitos

Encabezado: msdbg.h

Espacio de nombres: Microsoft.VisualStudio.Debugger.Interop

Ensamblado: Microsoft.VisualStudio.Debugger.Interop.dll

Consulte también