Evaluación de expresiones en modo de interrupción
En la sección siguiente se describe el proceso que se produce cuando el depurador está en modo de interrupción 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:
El administrador de depuración de sesión (SDM) llama a IDebugStackFrame2::GetExpressionContext para obtener una interfaz de contexto de expresión, IDebugExpressionContext2.
A continuación, SDM llama a IDebugExpressionContext2::P arseText con la cadena que se va a analizar.
Si ParseText no devuelve S_OK, se devuelve el motivo del error.
-Lo contrario-
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.
Cuando se usa
IDebugExpression2::EvaluateSync
, la interfaz de devolución de llamada dada comunica el proceso en curso de la evaluación. El valor final se devuelve en una interfaz IDebugProperty2 .Cuando se usa
IDebugExpression2::EvaluateAsync
, la interfaz de devolución de llamada dada comunica el proceso en curso 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.