在中斷模式期間,IDE 必須評估涉及數個程式變數的簡單運算式。 若要完成評估,偵錯引擎 (DE) 必須剖析並評估輸入 IDE 其中一個視窗的運算式。
運算式是使用 IDebugExpressionContext2::P arseText 方法建立,並由產生的 IDebugExpression2 介面表示。
IDebugExpression2 介面是由 DE 實作,並呼叫其 EvalAsync 方法,將 IDebugProperty2 介面傳回給 IDE,以便在 IDE 中顯示運算式評估的結果。 IDebugProperty2::GetPropertyInfo 傳回一個用來將運算式的值放入監看式視窗或區域變數視窗的結構。
偵錯套件或會話偵錯管理員 (SDM) 會呼叫 IDebugExpression2::EvaluateAsync 或 EvaluateSync ,以取得代表評估結果的 IDebugProperty2 介面。
IDebugProperty2 具有傳回運算式名稱、類型和值的方法。 此資訊會出現在各種偵錯工具視窗中。
使用運算式評估
若要使用運算式評估,您必須實作 IDebugExpressionContext2::P arseText 方法和 IDebugExpression2 介面的所有方法,如下表所示。
| 方法 | Description |
|---|---|
| EvaluateAsync | 以非同步方式評估運算式。 |
| 中止 | 結束非同步運算式評估。 |
| 評估同步 | 同步地評估運算式。 |
同步和非同步評估需要實作 IDebugProperty2::GetPropertyInfo 方法。 非同步運算式評估需要實作 IDebugExpressionEvaluationCompleteEvent2。