Sdílet prostřednictvím


Strategie implementace vyhodnocovače výrazů

Důležité

V sadě Visual Studio 2015 je tento způsob implementace vyhodnocovačů výrazů zastaralý. Informace o implementaci vyhodnocovačů výrazů CLR najdete v tématu vyhodnocovače výrazů CLR a ukázka vyhodnocovače spravovaných výrazů.

Jedním z přístupů k rychlému vytvoření vyhodnocovače výrazů (EE) je nejprve implementovat minimální kód potřebný k zobrazení místních proměnných v okně Místní hodnoty. Je užitečné si uvědomit, že každý řádek v okně Locals zobrazuje název, typ a hodnotu místní proměnné a že všechny tři jsou reprezentovány objektem IDebugProperty2 . Název, typ a hodnota místní proměnné je získán z IDebugProperty2 objektu voláním GetPropertyInfo metoda. Další informace o tom, jak zobrazit místní proměnné v okně Místní hodnoty, naleznete v tématu Zobrazení místních prostředí.

Diskuse

Možná sekvence implementace začíná implementací IDebugExpressionEvaluator. Parse a GetMethodProperty metody musí být implementovány pro zobrazení místních. Volání IDebugExpressionEvaluator::GetMethodProperty vrátí IDebugProperty2 objekt, který představuje metodu: to znamená IDebugMethodField objektu. Samotné metody se nezobrazují v okně Místní hodnoty.

Metoda EnumChildren by měla být implementována dále. Ladicí modul (DE) volá tuto metodu k získání seznamu místních proměnných a argumentů předáním IDebugProperty2::EnumChildren guidFilter argumentu guidFilterLocalsPlusArgs. IDebugProperty2::EnumChildren volá EnumArguments a EnumLocals, zkombinuje výsledky v jednom výčtu. Další podrobnosti najdete v tématu Zobrazení místních prostředí .