조사식 창 식의 계산
실행이 일시 중지 되 면 Visual Studio 디버그 엔진 조사식 목록에 각 식의 현재 값을 확인 합니다 (DE)를 호출 합니다. DE 식 계산기 (EE)를 사용 하 여 각 식을 계산 하 고 Visual Studio 해당 값을 표시를 조사식 창입니다.
조사식 목록을 평가 하는 방식을 개요는 다음과 같습니다.
호출 하는 DE Visual Studio IDebugStackFrame2::GetExpressionContext 식을 평가 하는 데 사용할 수 있는 식 컨텍스트를 가져올 수 있습니다.
감시 목록에서 각 식에 대해 Visual Studio 호출 합니다. IDebugExpressionContext2::ParseText 식 텍스트 구문 분석 된 식으로 변환 합니다.
IDebugExpressionContext2::ParseText호출 IDebugExpressionEvaluator::Parse 구문 분석 텍스트 및 생성 하는 실제 작업을 수행 하는 IDebugParsedExpression 개체입니다.
IDebugExpressionContext2::ParseText만듭니다는 IDebugExpression2 개체 및 설정에 IDebugParsedExpression 개체에 해당 합니다. I이DebugExpression2 개체를 Visual Studio 하 고 반환 합니다.
호출 Visual Studio IDebugExpression2::EvaluateSync 구문 분석 된 식을 계산할 수 있습니다.
IDebugExpression2::EvaluateSync호출 전달 IDebugParsedExpression::EvaluateSync 실제 실행을 수행 하 고 생성 하는 IDebugProperty2 Visual Studio 반환 되는 개체입니다.
호출 Visual Studio IDebugProperty2::GetPropertyInfo [감시] 목록에 표시 되는 다음 표현식의 값을 얻을 수 있습니다.
구문 분석 하 고 평가
복잡 한 식을 구문 분석은 계산 보다 시간이 더 걸릴 수 있으므로 식 평가 프로세스가 두 단계로 나누어: 1) 식을 구문 분석 하 고 2) 구문 분석 된 식을 계산 합니다. 이러한 방식으로 여러 번 평가 발생할 수 있습니다 있지만 식을 구문 분석할 수는 한 번만 해야 합니다. 중간 구문 분석된 한 식은 EE에서 반환 된는 IDebugParsedExpression 에 캡슐화 되 고 DE로 반환 된 개체는 IDebugExpression2 개체입니다. IDebugExpression 개체에 모든 평가 연기는 IDebugParsedExpression 개체입니다.
참고
이 2 단계 프로세스에 Visual Studio 가정에 부합 하는 EE에 대 한 필요는 없습니다. EE 구문 분석 하 고 동일한 단계에서 평가할 때 IDebugParsedExpression::EvaluateSync 라고 (MyCEE 샘플을 작동 방법에 예입니다).복잡 한 표현식 언어를 형성 하는 경우 평가 단계에서의 구문 분석 단계를 구분 하는 것이 좋습니다.여러 식을 조사할 때 Visual Studio 디버거에서 성능을 높일 수 있습니다 표시 됩니다.
단원 내용
식 계산의 샘플 구현
MyCEE 샘플을 사용 하 여 식 계산 과정을 단계별로 설명 합니다.조사식 식의 계산
식을 성공적으로 구문 분석 후 수행 될 작업을 설명 합니다.
관련 단원
- 평가 컨텍스트
디버그 엔진 (DE) 식 계산기 (EE)를 호출할 때 전달 되는 인수를 제공 합니다.