運算式評估 (偵錯 SDK 的 Visual Studio)
在中斷模式期間,IDE 必須能夠評估簡單的運算式,包含數個變數的程式。 若要這麼做,偵錯引擎 (DE) 必須能夠剖析並評估在 IDE 的視窗中輸入的運算式。
運算式用來建立 IDebugExpressionContext2::ParseText 方法,是由所產生的 IDebugExpression2 介面。
IDebugExpression2 介面的實作方法 DE 及呼叫其 EvalAsync 方法來傳回 IDebugProperty2 到 IDE 時,才能在 IDE 中顯示運算式的評估結果的介面。 IDebugProperty2::GetPropertyInfo 傳回結構,可用來將運算式的值,至 [監看式] 視窗或 [區域變數] 視窗。
偵錯封裝或工作階段偵錯管理員 (SDM) 會呼叫 IDebugExpression2::EvaluateAsync 或 EvaluateSync 以取得 IDebugProperty2 介面,表示評估的結果。 IDebugProperty2有方法會傳回名稱、 類型和運算式的值。 這項資訊會顯示在不同的偵錯工具視窗。
使用運算式評估
若要使用運算式評估,您必須實作 IDebugExpressionContext2::ParseText 方法及其所有的方法 IDebugExpression2 介面下, 表所示。
方法 |
描述 |
---|---|
以非同步方式評估運算式。 |
|
結束非同步運算式的評估。 |
|
以同步方式評估運算式。 |
同步和非同步的評估會藉由實作的 IDebugProperty2::GetPropertyInfo 方法。 非同步運算式評估需要的實作, IDebugExpressionEvaluationCompleteEvent2。