다음을 통해 공유


IDebugExpression2

이 인터페이스는 바인딩 및 계산할 준비가 된 구문 분석된 식을 나타냅니다.

구문

IDebugExpression2 : IUnknown

구현자에 대한 참고 사항

DE(디버그 엔진)는 계산할 준비가 된 구문 분석된 식을 나타내기 위해 이 인터페이스를 구현합니다.

호출자 참고 사항

ParseText 호출은 이 인터페이스를 반환합니다. GetExpressionContextIDebugExpressionContext2 인터페이스를 반환합니다. 이러한 인터페이스는 디버그 중인 프로그램이 일시 중지되고 스택 프레임을 사용할 수 있는 경우에만 액세스할 수 있습니다.

Vtable 순서의 메서드

다음 표에서는 IDebugExpression2 메서드를 보여 줍니다.

메서드 설명
EvaluateAsync 이 식을 비동기적으로 계산합니다.
Abort 비동기적 식 계산을 종료합니다.
EvaluateSync 이 식을 동기적으로 계산합니다.

설명

프로그램이 중지되면 SDM(세션 디버그 관리자)은 EnumFrameInfo를 호출하여 DE에서 스택 프레임을 가져옵니다. 그런 다음 SDM은 GetExpressionContext를 호출하여 IDebugExpressionContext2 인터페이스를 가져옵니다. 그런 다음 ParseText를 호출하여 계산할 준비가 된 구문 분석된 식을 나타내는 IDebugExpression2 인터페이스를 만듭니다.

SDM은 EvaluateSync 또는 EvaluateAsync를 호출하여 실제로 식을 계산하고 값을 생성합니다.

IDebugExpressionContext2::ParseText의 구현에서 DE는 COM의 CoCreateInstance 함수를 사용하여 식 계산기를 인스턴스화하고 IDebugExpressionEvaluator 인터페이스를 가져옵니다(IDebugExpressionEvaluator 인터페이스의 예제 참조). 그런 다음 DE는 Parse를 호출하여 IDebugParsedExpression 인터페이스를 가져옵니다. 이 인터페이스는 IDebugExpression2::EvaluateSyncIDebugExpression2::EvaluateAsync의 구현에서 계산을 수행하는 데 사용됩니다.

요구 사항

헤더: msdbg.h

네임스페이스: Microsoft.VisualStudio.Debugger.Interop

어셈블리: Microsoft.VisualStudio.Debugger.Interop.dll

참고 항목