중단 모드에서 식 계산
다음 섹션에서는 디버거가 중단 모드에 있고 식 평가를 수행해야 할 때 발생하는 프로세스를 설명합니다.
식 평가 프로세스
다음은 식 평가와 관련된 기본 단계입니다.
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로 나타납니다.