Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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