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í .