共用方式為


主要的運算式評估工具介面

重要

在 Visual Studio 2015 中,已取代這種實作運算式評估工具的方式。 如需實作 CLR 運算式評估工具的相關資訊,請參閱 CLR 運算式評估工具受控運算式評估工具範例

編寫運算式評估工具 (EE),以及評估內容時,應該熟悉以下介面。

介面描述

  • IDebugAddress

    具有單一方法 GetAddress,它會取得表示目前執行點的資料結構。 此資料結構是偵錯引擎 (DE) 傳遞給 EvaluateSync 方法的三個引數之其中一個,以評估運算式。 這個介面通常是由符號提供者實作。

  • IDebugBinder

    具有 Bind 方法,可取得包含符號目前值的記憶體區域。 假設包含的方法 (由 IDebugObject 物件表示) 以及符號本身 (由 IDebugField 物件表示),IDebugBinder::Bind 會傳回符號的值。 IDebugBinder 通常是由 DE 實作。

  • IDebugField

    表示簡單的資料類型。 對於更複雜的類型 (例如:陣列和方法),請分別使用衍生的 IDebugArrayFieldIDebugMethodField 介面。 IDebugContainerField 是另一個重要的衍生介面,表示包含其他符號 (例如:方法或類別) 的符號。 IDebugField 介面 (及其衍生專案項目) 通常是由符號提供者實作。

    IDebugField 物件可用來尋找符號的名稱和類型,以及 IDebugBinder 物件,可用來尋找其值。

  • IDebugObject

    表示符號執行階段值的實際位元。 Bind 採用表示符號的 IDebugField 物件,並傳回 IDebugObject 物件。 GetValue 方法傳回記憶體緩衝區中符號的值。 DE 通常實作這個介面來表示記憶體中屬性的值。

  • IDebugExpressionEvaluator

    這個介面表示運算式評估工具本身。 重要方法是 Parse,它會傳回 IDebugParsedExpression 介面。

  • IDebugParsedExpression

    這個介面表示已剖析的運算式,隨時可供評估。 重要方法是 EvaluateSync,它傳回表示運算式值和類型的 IDebugProperty2。

  • IDebugProperty2

    這個介面表示值及其類型,而且是運算式評估的結果。

另請參閱