Share via


IDebugExpression2

這個介面代表已剖析的表達式,可供系結和評估。

語法

IDebugExpression2 : IUnknown

實作者的注意事項

偵錯引擎 (DE) 會實作這個介面,以表示已剖析的運算式,可供評估。

呼叫端注意事項

對 ParseText呼叫會傳回這個介面。 GetExpressionContext 會傳 回 IDebugExpressionContext2 介面。 只有在偵錯的程式已暫停且堆疊框架可供使用時,才能存取這些介面。

依照 Vtable 順序的方法

下表顯示 IDebugExpression2 方法。

方法 描述
EvaluateAsync 以異步方式評估此表達式。
Abort 結束異步表達式評估。
EvaluateSync 同步評估此表達式。

備註

當程式停止時,會話偵錯管理員 (SDM) 會從 DE 取得堆疊框架,並呼叫 EnumFrameInfo。 SDM 接著會呼叫 GetExpressionContext 來取得 IDebugExpressionContext2 介面。 接著呼叫 ParseText 以建立 IDebugExpression2 介面,此介面表示已剖析的表達式可供評估。

SDM 會呼叫 EvaluateSyncEvaluateAsync ,以實際評估表達式併產生值。

在的 IDebugExpressionContext2::ParseText實作中,DE 會使用 COM 的 CoCreateInstance 函式來具現化表達式評估工具並取得 IDebugExpressionEvaluator 介面(請參閱 介面中的 IDebugExpressionEvaluator 範例)。 然後 DE 會呼叫 Parse 以取得 IDebugParsedExpression 介面。 這個介面用於和的IDebugExpression2::EvaluateSyncIDebugExpression2::EvaluateAsync實作中,以執行評估。

需求

標頭:msdbg.h

命名空間:Microsoft.VisualStudio.Debugger.Interop

元件:Microsoft.VisualStudio.Debugger.Interop.dll

另請參閱