在中斷模式中的運算式評估
下列說明程序的偵錯工具處於中斷模式,且必須進行運算式評估時發生。
運算式評估程序
這些是評估運算式所需的基本步驟:
工作階段偵錯管理員 (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 透過回呼介面。 使用這個事件的介面,可取得的最後一個值與IDebugExpressionEvaluationCompleteEvent2::GetResult。