Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
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