Sdílet prostřednictvím


Rozhraní vyhodnocovače klíčových 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ů.

Při psaní vyhodnocovače výrazů (EE) spolu s kontextem vyhodnocení byste měli být obeznámeni s následujícími rozhraními.

Popisy rozhraní

  • IDebugAddress

    Má jednu metodu GetAddress, která získá datovou strukturu, která představuje aktuální bod provádění. Tato datová struktura je jedním ze tří argumentů, které ladicí modul (DE) předává metodě EvaluateSync k vyhodnocení výrazu. Toto rozhraní obvykle implementuje poskytovatel symbolů.

  • IDebugBinder

    Metoda Bind, která vrací oblast paměti, obsahující aktuální hodnotu symbolu. Vzhledem k tomu, že je metoda obsažena v objektu IDebugObject a symbol samotný je reprezentován objektem IDebugField, IDebugBinder::Bind vrátí hodnotu symbolu. IDebugBinder je obvykle implementováno rozhraním DE.

  • IDebugField

    Představuje jednoduchý datový typ. Pro složitější typy, jako jsou pole a metody, použijte odvozené IDebugArrayField a IDebugMethodField rozhraní, v uvedeném pořadí. IDebugContainerField je další důležité odvozené rozhraní, které představuje symboly obsahující jiné symboly, jako jsou metody nebo třídy. Rozhraní IDebugField (a jeho deriváty) je obvykle implementováno poskytovatelem symbolů.

    Objekt IDebugField lze použít k vyhledání názvu a typu symbolu a společně s objektem IDebugBinder lze najít jeho hodnotu.

  • IDebugObject

    Představuje skutečné bity hodnoty běhu symbolu. Bind přebírá IDebugField objekt, který představuje symbol a vrací IDebugObject objektu. Metoda GetValue vrátí hodnotu symbolu ve vyrovnávací paměti. De obvykle implementuje toto rozhraní, které představuje hodnotu vlastnosti v paměti.

  • IDebugExpressionEvaluator

    Toto rozhraní představuje vyhodnocovač výrazů. Klíčová metoda je Parse, která vrací rozhraní IDebugParsedExpression.

  • IDebugParsedExpression

    Toto rozhraní představuje analyzovaný výraz připravený k vyhodnocení. Metoda key je EvaluateSync , která vrací IDebugProperty2 představující hodnotu a typ výrazu.

  • IDebugProperty2

    Toto rozhraní představuje hodnotu a její typ a je výsledkem vyhodnocení výrazu.

Viz také