IDebugExpression2
이 인터페이스는 바인딩 및 계산할 준비가 된 구문 분석된 식을 나타냅니다.
구문
IDebugExpression2 : IUnknown
구현자에 대한 참고 사항
DE(디버그 엔진)는 계산할 준비가 된 구문 분석된 식을 나타내기 위해 이 인터페이스를 구현합니다.
호출자 참고 사항
ParseText 호출은 이 인터페이스를 반환합니다. GetExpressionContext는 IDebugExpressionContext2 인터페이스를 반환합니다. 이러한 인터페이스는 디버그 중인 프로그램이 일시 중지되고 스택 프레임을 사용할 수 있는 경우에만 액세스할 수 있습니다.
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::EvaluateSync
및 IDebugExpression2::EvaluateAsync
의 구현에서 계산을 수행하는 데 사용됩니다.
요구 사항
헤더: msdbg.h
네임스페이스: Microsoft.VisualStudio.Debugger.Interop
어셈블리: Microsoft.VisualStudio.Debugger.Interop.dll