索引鍵運算式評估工具介面
如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件。
重要
在 Visual Studio 2015,這種實作運算式評估工具已被取代。 如需實作 CLR 運算式評估工具的資訊,請參閱CLR 運算式評估工具和Managed 運算式評估工具範例。
在撰寫運算式評估工具 (EE),以及評估內容時,您應該熟悉下列介面。
介面描述
-
具有單一方法, GetAddress,此 cmdlet 會取得資料結構,代表目前執行點。 此資料結構是一個三個引數的偵錯引擎 (DE) 傳遞給EvaluateSync方法來評估運算式。 符號提供者通常實作這個介面。
-
具有繫結方法,取得包含目前的符號值的記憶體區域。 指定這兩個包含方法,由IDebugObject物件,以及符號本身,由IDebugField物件,
IDebugBinder::Bind
傳回符號的值。IDebugBinder
通常是由 DE 實作。 -
表示簡單資料型別。 對於更複雜的型別,例如陣列和方法,使用衍生IDebugArrayField和IDebugMethodField分別介面。 IDebugContainerField是另一個重要的衍生的介面,表示包含其他符號,例如方法或類別的符號。
IDebugField
符號提供者通常實作介面 (和其衍生項目)。IDebugField
物件可以用來尋找名稱和類型的符號,搭配IDebugBinder物件,可以用來尋找其值。 -
代表實際的位元執行階段值的符號。 繫結採用IDebugField物件,代表符號,並且傳回IDebugObject物件。 GetValue方法會傳回符號的值在記憶體緩衝區。 DE 通常會實作這個介面來代表記憶體中的屬性值。
-
這個介面表示運算式評估工具本身。 重要的方法是剖析,它會傳回IDebugParsedExpression介面。
-
這個介面表示準備要評估的已剖析的運算式。 重要的方法是EvaluateSync IDebugProperty2 會傳回代表的值和運算式的類型。
-
此介面表示值和其型別,而且是運算式評估的結果。