Evaluador de expresionesExpression evaluator

Evaluadores de expresión (EE) examina la sintaxis de un idioma para analizar y evaluar variables y expresiones en tiempo de ejecución, lo que les permite ver el usuario cuando el IDE está en modo de interrupción.Expression evaluators (EE) examine the syntax of a language to parse and evaluate variables and expressions at run time, allowing them to be viewed by the user when the IDE is in break mode.

Usar los evaluadores de expresiónUse expression evaluators

Las expresiones se crean mediante el ParseText método, como se indica a continuación:Expressions are created using the ParseText method, as follows:

  1. Implementa el motor de depuración (DE) la IDebugExpressionContext2 interfaz.The debug engine (DE) implements the IDebugExpressionContext2 interface.

  2. Obtiene el paquete de depuración un IDebugExpressionContext2 objeto desde un IDebugStackFrame2 interfaz y, a continuación, llama a la IDebugStackFrame2::ParseText método en él para obtener un IDebugExpression2 objeto.The debug package gets an IDebugExpressionContext2 object from an IDebugStackFrame2 interface and then calls the IDebugStackFrame2::ParseText method on it to get an IDebugExpression2 object.

  3. El paquete de depuración llama a la EvaluateSync método o la EvaluateAsync método para obtener el valor de la expresión.The debug package calls the EvaluateSync method or the EvaluateAsync method to get the value of the expression. IDebugExpression2::EvaluateAsync se llama desde la ventana de comando o inmediato.IDebugExpression2::EvaluateAsync is called from the Command/Immediate window. Llamar todos los demás componentes de interfaz de usuario IDebugExpression2::EvaluateSync.All other UI components call IDebugExpression2::EvaluateSync.

  4. El resultado de evaluación de la expresión es un IDebugProperty2 objeto, que contiene el nombre, tipo y valor del resultado de la evaluación de expresiones.The result of expression evaluation is an IDebugProperty2 object, which contains the name, type, and value of the result of the expression evaluation.

    Durante la evaluación de expresión, el EE requiere información desde el componente de proveedor de símbolos.During expression evaluation, the EE requires information from the symbol provider component. El proveedor de símbolos proporciona la información simbólica que se usa para identificar y entender la expresión analizada.The symbol provider supplies the symbolic information used for identifying and understanding the parsed expression.

    Cuando se complete la evaluación de expresiones asincrónica, la DE a través del Administrador de depuración de la sesión (SDM) envía un evento asincrónico para notificar el IDE que la evaluación de expresiones ha finalizado.When asynchronous expression evaluation completes, an asynchronous event is sent by the DE through the session debug manager (SDM) to notify the IDE that expression evaluation is complete. Y, a continuación, se devuelve el resultado de la evaluación de la llamada a la IDebugExpression2::EvaluateSync método.And, the result of the evaluation is then returned from the call to the IDebugExpression2::EvaluateSync method.

Notas sobre la implementaciónImplementation notes

El Programa para la mejoraVisual Studio motores de depuración que se esperan para comunicarse con el evaluador de expresiones mediante interfaces de Common Language Runtime (CLR).The Programa para la mejoraVisual Studio debug engines expect to talk with the expression evaluator using Common Language Runtime (CLR) interfaces. Como resultado, un evaluador de expresiones que funciona con el Programa para la mejoraVisual Studio motores de depuración deben admitir el CLR (encontrará una lista completa de todas las interfaces de depuración de CLR en debugref.doc, que forma parte de la Kit de desarrollo de software de Windows (SDK)Windows Software Development Kit (SDK)).As a result, an expression evaluator that works with the Programa para la mejoraVisual Studio debug engines must support the CLR (a complete list of all CLR debugging interfaces can be found in debugref.doc, which is part of the Kit de desarrollo de software de Windows (SDK)Windows Software Development Kit (SDK)).

Vea tambiénSee also