Compartir a través de


Evaluación de expresiones en modo de pausa

En la siguiente sección se describe el proceso que ocurre cuando el depurador está en modo de pausa y debe llevar a cabo la evaluación de expresiones.

Proceso de evaluación de expresiones

A continuación se muestran los pasos básicos necesarios para evaluar una expresión:

  1. El administrador de depuración de sesión (SDM) llama a IDebugStackFrame2::GetExpressionContext para obtener una interfaz de contexto de expresión, IDebugExpressionContext2.

  2. Luego, SDM llama a IDebugExpressionContext2::ParseText con la cadena que se va a analizar.

  3. Si ParseText no devuelve S_OK, se devuelve el motivo del error.

    -de otra manera-

    Si ParseText devuelve S_OK, el SDM puede llamar a IDebugExpression2::EvaluateSync o IDebugExpression2::EvaluateAsync para obtener un valor final de la expresión analizada.

    • Al utilizar IDebugExpression2::EvaluateSync, la interfaz proporcionada para llamadas de retorno comunica el proceso continuo de la evaluación. El valor final se devuelve en una interfaz IDebugProperty2 .

    • Cuando se utiliza IDebugExpression2::EvaluateAsync, la interfaz dada de devolución de llamada comunica el proceso continuo de la evaluación. Una vez completada la evaluación, EvaluateAsync envía una interfaz IDebugExpressionEvaluationCompleteEvent2 a través de la devolución de llamada. Con esta interfaz de evento, el valor final da como resultado GetResult.