Vyhodnocení výrazů

Výrazy se vytvářejí z řetězců předávaných z automatických oken, kukátek, rychlých kukátek nebo okamžitých oken. Když se výraz vyhodnotí, vygeneruje tisknutelný řetězec, který obsahuje název a typ proměnné nebo argumentu a jeho hodnotu. Tento řetězec se zobrazí v odpovídajícím okně integrovaného vývojového prostředí .

Implementace

Výrazy se vyhodnocují, když se program zastavil na zarážce. Samotný výraz je reprezentován rozhraním IDebugExpression2 , který představuje parsovaný výraz, který je připravený pro vazbu a vyhodnocení v rámci daného kontextu vyhodnocení výrazu. Rámec zásobníku určuje kontext vyhodnocení výrazu, který ladicí modul (DE) poskytuje implementací IDebugExpressionContext2 rozhraní.

Vzhledem k uživatelskému řetězci a rozhraní IDebugExpressionContext2 může ladicí modul (DE) získat rozhraní IDebugExpression2 předáním uživatelského řetězce IDebugExpressionContext2 ::P arseText metoda. Rozhraní IDebugExpression2, které je vráceno, obsahuje analyzovaný výraz připravený k vyhodnocení.

IDebugExpression2 Pomocí rozhraní může DE získat hodnotu výrazu prostřednictvím synchronního nebo asynchronního vyhodnocení výrazu pomocí IDebugExpression2::EvaluateSync nebo IDebugExpression2::EvaluateAsync. Tato hodnota spolu s názvem a typem proměnné nebo argumentu se odešle do integrovaného vývojového prostředí (IDE) pro zobrazení. Hodnota, název a typ jsou reprezentovány rozhraním IDebugProperty2 .

Chcete-li povolit vyhodnocení výrazu, musí DE implementovat IDebugExpression2 a IDebugExpressionContext2 rozhraní. Synchronní i asynchronní vyhodnocení vyžaduje implementaci IDebugProperty2::GetPropertyInfo metoda.