運算式評估工具
表達運算式評估工具 (ee) 檢查語言的語法,以便在執行階段解析和評估變數和運算式,讓使用者在 IDE 處於中斷模式時查看它們。
使用運算式評估
運算式是使用 ParseText 方法建立,如下所示:
偵錯引擎 (DE) 實作 IDebugExpressionContext2 介面。
偵錯套件會從 IDebugStackFrame2 介面取得
IDebugExpressionContext2
物件,然後呼叫其上的IDebugStackFrame2::ParseText
方法以取得 IDebugExpression2 物件。偵錯套件會呼叫 EvaluateSync 方法或 EvaluateAsync 方法,以取得運算式的值。
IDebugExpression2::EvaluateAsync
會從 [命令/即時運算] 視窗呼叫。 所有其他 UI 元件都會呼叫IDebugExpression2::EvaluateSync
。運算式評估的結果是 IDebugProperty2 物件,其中包含運算式評估結果的名稱、類型和值。
在運算式評估期間,EE 需要符號提供者元件的資訊。 符號提供者會提供用來識別和理解剖析運算式的符號資訊。
非同步運算式評估完成後,DE 會透過工作階段偵錯管理員 (SDM) 傳送非同步事件,以通知 IDE 運算式評估已完成。 然後,評估結果會從呼叫
IDebugExpression2::EvaluateSync
方法傳回。
實作注意事項
Visual Studio 偵錯引擎預期會使用通用語言執行平台 (CLR) 介面與運算式評估工具通訊。 因此,與 Visual Studio 偵錯引擎搭配使用的運算式評估工具必須支援 CLR (可以在 debugref.doc 中找到所有 CLR 偵錯介面的完整清單,它是 Windows 軟體開發套件 (SDK) 的一部分)。