Vyhodnocovače výrazů

Vyhodnocovače výrazů (EE) prověřují syntaxi jazyka, aby parsovaly a vyhodnocovaly proměnné a výrazy za běhu, což uživateli umožňuje zobrazit je v režimu přerušení.

Použití vyhodnocovačů výrazů

Výrazy se vytvářejí pomocí metody ParseText následujícím způsobem:

  1. Ladicí modul (DE) implementuje IDebugExpressionContext2 rozhraní.

  2. Ladicí balíček získá IDebugExpressionContext2 objekt z IDebugStackFrame2 rozhraní a pak volá metodu IDebugStackFrame2::ParseText na něm získat IDebugExpression2 objektu.

  3. Ladicí balíček volá Metodu EvaluateSync nebo EvaluateAsync metoda získat hodnotu výrazu. IDebugExpression2::EvaluateAsync je volána z příkazového nebo příkazového okna. Všechny ostatní součásti uživatelského rozhraní volají IDebugExpression2::EvaluateSync.

  4. Výsledkem vyhodnocení výrazu je IDebugProperty2 objekt, který obsahuje název, typ a hodnotu výsledku vyhodnocení výrazu.

    Při vyhodnocování výrazu vyžaduje EE informace z komponenty zprostředkovatele symbolů. Poskytovatel symbolů poskytuje symbolické informace použité k identifikaci a pochopení analyzovaného výrazu.

    Po dokončení vyhodnocení asynchronního výrazu se de prostřednictvím správce ladění relace (SDM) odešle asynchronní událost, která oznámí dokončení vyhodnocení výrazu integrovaného vývojového prostředí ( IDE). Výsledek vyhodnocení se pak vrátí z volání metody IDebugExpression2::EvaluateSync .

Poznámky k implementaci

Ladicí moduly sady Visual Studio očekávají, že budou komunikovat s vyhodnocovačem výrazů pomocí rozhraní CLR (Common Language Runtime). Výsledkem je, že vyhodnocovač výrazů, který funguje s ladicí moduly sady Visual Studio, musí podporovat MODULR (úplný seznam všech rozhraní ladění CLR najdete v debugref.doc, který je součástí sady Windows Software Development Kit (SDK)).

Viz také