中斷模式中的運算式評估
下列一節描述當偵錯工具處於中斷模式且必須進行運算式評估時所發生的程序。
運算式評估程序
以下是評估運算式時所涉及的基本步驟:
工作階段偵錯管理員 (SDM) 呼叫 IDebugStackFrame2::GetExpressionContext 來取得運算式內容介面,IDebugExpressionContext2。
SDM 接著使用要剖析的字串呼叫 IDebugExpressionContext2::ParseText。
如果 ParseText 未傳回 S_OK,則會傳回錯誤的原因。
-否則-
如果 ParseText 傳回 S_OK,SDM 就可以呼叫 IDebugExpression2::EvaluateSync 或 IDebugExpression2::EvaluateAsync,以從剖析的運算式取得最終值。
使用
IDebugExpression2::EvaluateSync
時,指定的回呼介面會傳達進行中的評估程序。 最終值會在 IDebugProperty2 介面中傳回。使用
IDebugExpression2::EvaluateAsync
時,指定的回呼介面會傳達進行中的評估程序。 評估完成後,EvaluateAsync 會透過回呼傳送 IDebugExpressionEvaluationCompleteEvent2 介面。 使用這個事件介面時,最終值會產生 GetResult。