Evaluar expresionesEvaluate expressions

Las expresiones se crean a partir de cadenas que se pasan desde el automático, inspección, Inspección rápida, o inmediato windows.Expressions are created from strings passed down from the Autos, Watch, QuickWatch, or Immediate windows. Cuando se evalúa una expresión, genera una cadena imprimible que contiene el nombre y tipo de variable o argumento y su valor.When an expression is evaluated, it generates a printable string that contains the name and type of variable or argument and its value. Esta cadena se muestra en la ventana del IDE correspondiente.This string is displayed in the corresponding IDE window.

ImplementaciónImplementation

Las expresiones se evalúan cuando se ha detenido un programa en un punto de interrupción.Expressions are evaluated when a program has stopped at a breakpoint. La expresión se representa mediante un IDebugExpression2 interfaz, que representa una expresión analizada que está lista para enlace y evaluación dentro del contexto de evaluación de la expresión dada.The expression itself is represented by an IDebugExpression2 interface, which represents a parsed expression that's ready for binding and evaluation within the given expression evaluation context. El marco de pila determina el contexto de evaluación de expresión, que proporciona el motor de depuración (DE) implementando la IDebugExpressionContext2 interfaz.The stack frame determines the expression evaluation context, which the debug engine (DE) supplies by implementing the IDebugExpressionContext2 interface.

Dada una cadena de usuario y una IDebugExpressionContext2 interfaz, puede obtener un motor de depuración (DE) un IDebugExpression2 interfaz, pase la cadena de usuario para el IDebugExpressionContext2::ParseText método.Given a user string and an IDebugExpressionContext2 interface, a debug engine (DE) can obtain an IDebugExpression2 interface by passing the user string to the IDebugExpressionContext2::ParseText method. La interfaz IDebugExpression2 devuelto contiene la expresión analizada lista para su evaluación.The IDebugExpression2 interface that's returned contains the parsed expression ready for evaluation.

Con el IDebugExpression2 interfaz, la DE puede obtener el valor de la expresión a través de la evaluación de expresiones sincrónica o asincrónica, utilizando IDebugExpression2::EvaluateSync o IDebugExpression2:: EvaluateAsync.With the IDebugExpression2 interface, the DE can get the value of the expression through synchronous or asynchronous expression evaluation, using IDebugExpression2::EvaluateSync or IDebugExpression2::EvaluateAsync. Este valor, junto con el nombre y tipo de la variable o argumento, se envía en el IDE para su presentación.This value, along with the name and type of the variable or argument, is sent to the IDE for display. El valor, el nombre y el tipo se representan mediante un IDebugProperty2 interfaz.The value, name, and type are represented by an IDebugProperty2 interface.

Para habilitar la evaluación de expresiones, debe implementar a DE la IDebugExpression2 y IDebugExpressionContext2 interfaces.To enable expression evaluation, a DE must implement the IDebugExpression2 and IDebugExpressionContext2 interfaces. Evaluación sincrónica y asincrónica requiere la implementación de la IDebugProperty2::GetPropertyInfo método.Both synchronous and asynchronous evaluation require the implementation of the IDebugProperty2::GetPropertyInfo method.

Vea tambiénSee also

Marcos de pila Stack frames
Contexto de evaluación de expresión Expression evaluation context
Tareas de depuraciónDebug tasks