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:
Ladicí modul (DE) implementuje IDebugExpressionContext2 rozhraní.
Ladicí balíček získá
IDebugExpressionContext2
objekt z IDebugStackFrame2 rozhraní a pak volá metoduIDebugStackFrame2::ParseText
na něm získat IDebugExpression2 objektu.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
.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)).