Compartir vía


Evaluación de expresiones (SDK de depuración de Visual Studio)

Durante el modo de interrupción, el IDE debe evaluar expresiones simples que impliquen varias variables de programa. Para realizar su evaluación, el motor de depuración (DE) debe analizar y evaluar una expresión especificada en una de las ventanas del IDE.

Las expresiones se crean con el método IDebugExpressionContext2::ParseText y se representan mediante la interfaz IDebugExpression2 resultante.

El DE implementa la interfaz IDebugExpression2 y llama a su método EvalAsync para devolver una interfaz IDebugProperty2 al IDE, con el fin de mostrar los resultados de la evaluación de expresiones en el IDE. IDebugProperty2::GetPropertyInfo devuelve una estructura que se usa para colocar el valor de una expresión en una ventana de Inspección o en la ventana Locales.

El paquete de depuración o el administrador de depuración de sesión (SDM) llama a IDebugExpression2::EvaluateAsync o EvaluateSync para obtener una interfaz IDebugProperty2 que represente el resultado de la evaluación. IDebugProperty2 tiene métodos que devuelven el nombre, el tipo y el valor de la expresión. Esta información aparece en varias ventanas del depurador.

Uso de la evaluación de expresiones

Para usar la evaluación de expresiones, debe implementar el método IDebugExpressionContext2::ParseText y todos los métodos de la interfaz IDebugExpression2, como se muestra en la tabla siguiente.

Method Descripción
EvaluateAsync Evalúa una expresión de forma asincrónica.
Abort Finaliza la evaluación de expresiones asincrónicas.
EvaluateSync Evalúa una expresión de forma sincrónica.

La evaluación sincrónica y asincrónica requiere implementar el método IDebugProperty2::GetPropertyInfo. La evaluación de expresiones asincrónicas requiere la implementación de IDebugExpressionEvaluationCompleteEvent2.

Consulte también