Compartir a través de


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:

  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. A continuación, SDM llama a IDebugExpressionContext2::P arseText con la cadena que se va a analizar.

  3. 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.