식 계산(Visual Studio 디버깅 SDK)
중단 모드 중에 IDE는 여러 프로그램 변수와 관련된 간단한 식을 계산해야 합니다. 계산을 수행하려면 DE(디버그 엔진)가 IDE 창 중 하나에 입력된 식을 구문 분석하고 계산해야 합니다.
식은 IDebugExpressionContext2::ParseText 메서드를 사용하여 생성되고 결과 IDebugExpression2 인터페이스로 표시됩니다.
IDebugExpression2 인터페이스는 DE에 의해 구현되며 IDE에서 식 계산 결과를 표시하기 위해 EvalAsync 메서드를 호출하여 IDebugProperty2 인터페이스를 IDE에 반환합니다. IDebugProperty2::GetPropertyInfo는 식 값을 조사식 창이나 로컬 창에 넣는 데 사용되는 구조체를 반환합니다.
디버그 패키지 또는 SDM(세션 디버그 관리자)은 IDebugExpression2::EvaluateAsync 또는 EvaluateSync를 호출하여 계산 결과를 나타내는 IDebugProperty2 인터페이스를 가져옵니다. IDebugProperty2
에는 식의 이름, 형식 및 값을 반환하는 메서드가 있습니다. 이 정보는 다양한 디버거 창에 표시됩니다.
식 계산 사용
식 계산을 사용하려면 다음 표와 같이 IDebugExpressionContext2::ParseText 메서드 및 IDebugExpression2 인터페이스의 모든 메서드를 구현해야 합니다.
메서드 | 설명 |
---|---|
EvaluateAsync | 식을 비동기적으로 계산합니다. |
Abort | 비동기적 식 계산을 종료합니다. |
EvaluateSync | 식을 동기적으로 계산합니다. |
동기적 및 비동기적 계산에는 모두 IDebugProperty2::GetPropertyInfo 메서드의 구현이 필요합니다. 비동기적 식 계산에는 IDebugExpressionEvaluationCompleteEvent2를 구현해야 합니다.