Vyhodnocení výrazu v režimu pozastavení
Následující část popisuje proces, který nastane, když je ladicí program v režimu přerušení a musí provést vyhodnocení výrazu.
Proces vyhodnocení výrazu
Následuje základní postup při vyhodnocování výrazu:
Správce ladění relace (SDM) volá IDebugStackFrame2::GetExpressionContext k získání kontextového rozhraní výrazu IDebugExpressionContext2.
SDM pak volá IDebugExpressionContext2::P arseText s řetězcem, který se má analyzovat.
Pokud funkce ParseText nevrací S_OK, vrátí se důvod chyby.
-Jinak-
Pokud ParseText vrátí S_OK, SDM může volat IDebugExpression2::EvaluateSync nebo IDebugExpression2::EvaluateAsync získat konečnou hodnotu z parsovaného výrazu.
Při použití
IDebugExpression2::EvaluateSync
komunikuje dané rozhraní zpětného volání probíhající proces vyhodnocení. Konečná hodnota je vrácena v rozhraní IDebugProperty2 .Při použití
IDebugExpression2::EvaluateAsync
komunikuje dané rozhraní zpětného volání probíhající proces vyhodnocení. Jakmile je vyhodnocení dokončeno, EvaluateAsync odešle rozhraní IDebugExpressionEvaluationCompleteEvent2 prostřednictvím zpětného volání. S tímto rozhraním událostí je výsledkem konečné hodnoty GetResult.