IDebugExpression2IDebugExpression2

Esta interfaz representa una lista de expresión analizada de enlace y de evaluación.This interface represents a parsed expression ready for binding and evaluating.

SintaxisSyntax

IDebugExpression2 : IUnknown

Notas para los implementadoresNotes for Implementers

El motor de depuración (DE) implementa esta interfaz para representar una expresión analizada lista para ser evaluada.The debug engine (DE) implements this interface to represent a parsed expression ready to be evaluated.

Notas para los llamadoresNotes for Callers

Una llamada a ParseText devuelve esta interfaz.A call to ParseText returns this interface. GetExpressionContext devuelve el IDebugExpressionContext2 interfaz.GetExpressionContext returns the IDebugExpressionContext2 interface. Estas interfaces son accesibles solo cuando se ha detenido el programa que se está depurando y un marco de pila está disponible.These interfaces are accessible only when the program being debugged has been paused and a stack frame is available.

Métodos en orden de VtableMethods in Vtable Order

La tabla siguiente muestran los métodos de IDebugExpression2.The following table shows the methods of IDebugExpression2.

MétodoMethod DescripciónDescription
EvaluateAsyncEvaluateAsync Evalúa esta expresión de forma asincrónica.Evaluates this expression asynchronously.
AbortAbort Finaliza la evaluación de expresiones asincrónicas.Ends asynchronous expression evaluation.
EvaluateSyncEvaluateSync Evalúa esta expresión de forma sincrónica.Evaluates this expression synchronously.

ComentariosRemarks

Cuando se ha detenido un programa, el Administrador de depuración de la sesión (SDM) Obtiene un marco de pila de la DE con una llamada a EnumFrameInfo.When a program has halted, the session debug manager (SDM) obtains a stack frame from the DE with a call to EnumFrameInfo. A continuación, llama el SDM GetExpressionContext para obtener el IDebugExpressionContext2 interfaz.The SDM then calls GetExpressionContext to get the IDebugExpressionContext2 interface. Esto va seguido de una llamada a ParseText para crear el IDebugExpression2 interfaz, que representa la expresión analizada lista para ser evaluada.This is followed by a call to ParseText to create the IDebugExpression2 interface, which represents the parsed expression ready to be evaluated.

El SDM llama a EvaluateSync o EvaluateAsync realmente evaluar la expresión y generar un valor.The SDM calls either EvaluateSync or EvaluateAsync to actually evaluate the expression and produce a value.

En la implementación de IDebugExpressionContext2::ParseText, la DE usa de COM CoCreateInstance función para crear una instancia de un evaluador de expresiones y obtener un IDebugExpressionEvaluator interfaz (vea el ejemplo de la IDebugExpressionEvaluator interfaz).In an implementation of IDebugExpressionContext2::ParseText, the DE uses COM's CoCreateInstance function to instantiate an expression evaluator and get an IDebugExpressionEvaluator interface (see the Example in the IDebugExpressionEvaluator interface). A continuación, llama a la DE analizar para obtener un IDebugParsedExpression interfaz.The DE then calls Parse to obtain an IDebugParsedExpression interface. Esta interfaz se usa en la implementación de IDebugExpression2::EvaluateSync y IDebugExpression2::EvaluateAsync para realizar la evaluación.This interface is used in the implementation of IDebugExpression2::EvaluateSync and IDebugExpression2::EvaluateAsync to perform the evaluation.

RequisitosRequirements

Encabezado: msdbg.hHeader: msdbg.h

Espacio de nombres: Microsoft.VisualStudio.Debugger.InteropNamespace: Microsoft.VisualStudio.Debugger.Interop

Ensamblado: Microsoft.VisualStudio.Debugger.Interop.dllAssembly: Microsoft.VisualStudio.Debugger.Interop.dll

Vea tambiénSee also