Share via


運算式評估工具

表達運算式評估工具 (ee) 檢查語言的語法,以便在執行階段解析和評估變數和運算式,讓使用者在 IDE 處於中斷模式時查看它們。

使用運算式評估

運算式是使用 ParseText 方法建立,如下所示:

  1. 偵錯引擎 (DE) 實作 IDebugExpressionContext2 介面。

  2. 偵錯套件會從 IDebugStackFrame2 介面取得 IDebugExpressionContext2 物件,然後呼叫其上的 IDebugStackFrame2::ParseText 方法以取得 IDebugExpression2 物件。

  3. 偵錯套件會呼叫 EvaluateSync 方法或 EvaluateAsync 方法,以取得運算式的值。 IDebugExpression2::EvaluateAsync 會從 [命令/即時運算] 視窗呼叫。 所有其他 UI 元件都會呼叫 IDebugExpression2::EvaluateSync

  4. 運算式評估的結果是 IDebugProperty2 物件,其中包含運算式評估結果的名稱、類型和值。

    在運算式評估期間,EE 需要符號提供者元件的資訊。 符號提供者會提供用來識別和理解剖析運算式的符號資訊。

    非同步運算式評估完成後,DE 會透過工作階段偵錯管理員 (SDM) 傳送非同步事件,以通知 IDE 運算式評估已完成。 然後,評估結果會從呼叫 IDebugExpression2::EvaluateSync 方法傳回。

實作注意事項

Visual Studio 偵錯引擎預期會使用通用語言執行平台 (CLR) 介面與運算式評估工具通訊。 因此,與 Visual Studio 偵錯引擎搭配使用的運算式評估工具必須支援 CLR (可以在 debugref.doc 中找到所有 CLR 偵錯介面的完整清單,它是 Windows 軟體開發套件 (SDK) 的一部分)。

另請參閱