IDebugExpression2
這個介面代表已剖析的表達式,可供系結和評估。
語法
IDebugExpression2 : IUnknown
實作者的注意事項
偵錯引擎 (DE) 會實作這個介面,以表示已剖析的運算式,可供評估。
呼叫端注意事項
對 ParseText 的呼叫會傳回這個介面。 GetExpressionContext 會傳 回 IDebugExpressionContext2 介面。 只有在偵錯的程式已暫停且堆疊框架可供使用時,才能存取這些介面。
依照 Vtable 順序的方法
下表顯示 IDebugExpression2
方法。
方法 | 描述 |
---|---|
EvaluateAsync | 以異步方式評估此表達式。 |
Abort | 結束異步表達式評估。 |
EvaluateSync | 同步評估此表達式。 |
備註
當程式停止時,會話偵錯管理員 (SDM) 會從 DE 取得堆疊框架,並呼叫 EnumFrameInfo。 SDM 接著會呼叫 GetExpressionContext 來取得 IDebugExpressionContext2 介面。 接著呼叫 ParseText 以建立 IDebugExpression2
介面,此介面表示已剖析的表達式可供評估。
SDM 會呼叫 EvaluateSync 或 EvaluateAsync ,以實際評估表達式併產生值。
在的 IDebugExpressionContext2::ParseText
實作中,DE 會使用 COM 的 CoCreateInstance
函式來具現化表達式評估工具並取得 IDebugExpressionEvaluator 介面(請參閱 介面中的 IDebugExpressionEvaluator
範例)。 然後 DE 會呼叫 Parse 以取得 IDebugParsedExpression 介面。 這個介面用於和的IDebugExpression2::EvaluateSync
IDebugExpression2::EvaluateAsync
實作中,以執行評估。
需求
標頭:msdbg.h
命名空間:Microsoft.VisualStudio.Debugger.Interop
元件:Microsoft.VisualStudio.Debugger.Interop.dll