Sdílet prostřednictvím


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:

  1. Správce ladění relace (SDM) volá IDebugStackFrame2::GetExpressionContext k získání kontextového rozhraní výrazu IDebugExpressionContext2.

  2. SDM pak volá IDebugExpressionContext2::P arseText s řetězcem, který se má analyzovat.

  3. 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::EvaluateSynckomunikuje 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::EvaluateAsynckomunikuje 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.