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. Metody Parse a GetMethodProperty 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. Metody nejsou zobrazeny v okně Locals.

Metoda EnumChildren by měla být implementována dále. Ladicí modul (DE) volá tuto metodu, aby získal seznam místních proměnných a argumentů, přičemž předává argument IDebugProperty2::EnumChildrenguidFilterguidFilterLocalsPlusArgs. IDebugProperty2::EnumChildren volá EnumArguments a EnumLocals, zkombinuje výsledky v jednom výčtu. Další podrobnosti najdete v tématu Zobrazení lokálních proměnných.