主要運算式評估工具介面
在撰寫運算式評估工具 (EE),連同評估內容,您應該要熟悉下列的介面。
介面描述
-
有一個單一的方法, IDebugAddress::GetAddress,而取得的資料結構,代表目前執行點。 這個資料結構,是指偵錯引擎 (DE) 傳遞給三個引數的IDebugParsedExpression::EvaluateSync方法,以評估運算式。 符號提供者通常實作這個介面。
-
具有IDebugBinder::Bind方法,它會取得含有符號的目前值的記憶體區域。 指定這兩種包含方法,以表示IDebugObject物件和符號本身,由IDebugField物件, IDebugBinder::Bind會傳回此符號的值。 IDebugBinder通常是由 DE 實作。
-
代表一個簡單的資料型別。 對於較複雜的型別,例如陣列和方法,使用衍生IDebugArrayField和IDebugMethodField介面,分別。 IDebugContainerField另一個重要的衍生的介面,表示符號包含其他符號,例如方法或類別。 IDebugField符號提供者通常實作介面 (和它的衍生物件)。
IDebugField物件可以用來尋找符號的類型與名稱,一起IDebugBinder物件,可用來找出它的值。
-
代表實際的位元執行階段值的符號。 IDebugBinder::Bind會使用IDebugField物件,代表符號,並傳回IDebugObject物件。 IDebugObject::GetValue方法會傳回記憶體緩衝區中的符號的值。 將 DE 通常會實作這個介面來代表記憶體中的屬性值。
-
這個介面表示運算式評估工具本身。 索引鍵的方法是IDebugExpressionEvaluator::Parse,會傳回IDebugParsedExpression介面。
-
這個介面表示剖析的運算式即可進行評估。 索引鍵的方法是IDebugParsedExpression::EvaluateSync IDebugProperty2 會傳回代表的值和運算式的型別。
-
這個介面表示值和型別,而是運算式評估的結果。