자동, 조사, 빠른 조사, 또는 즉시 창에서 전달된 문자열에서 식이 만들어집니다. 식이 계산되면 변수 또는 인수의 이름과 형식 및 해당 값을 포함하는 인쇄 가능한 문자열을 생성합니다. 이 문자열은 해당 IDE 창에 표시됩니다.
Implementation
식은 프로그램이 디버깅 중단점에서 중지될 때 평가됩니다. 식 자체는 지정된 식 평가 컨텍스트 내에서 바인딩 및 계산할 준비가 된 구문 분석된 식을 나타내는 IDebugExpression2 인터페이스로 표현됩니다. 스택 프레임은 IDebugExpressionContext2 인터페이스를 구현하여 DE(디버그 엔진)가 제공하는 식 평가 컨텍스트를 결정합니다.
사용자 문자열 및 IDebugExpressionContext2 인터페이스가 지정된 경우 디버그 엔진(DE)은 IDebugExpressionContext2::P arseText 메서드에 사용자 문자열을 전달하여 IDebugExpression2 인터페이스를 가져올 수 있습니다. 반환되는 IDebugExpression2 인터페이스에는 구문 분석된, 평가 준비가 된 식이 포함됩니다.
인터페이스 IDebugExpression2을 사용하면 DE는 동기식 또는 비동기식 식 평가를 통해 IDebugExpression2::EvaluateSync 및 IDebugExpression2::EvaluateAsync를 사용하여 식 값을 평가할 수 있습니다. 변수 또는 인수의 이름 및 형식과 함께 이 값은 표시를 위해 IDE로 전송됩니다. 값, 이름 및 형식은 IDebugProperty2 인터페이스로 표시됩니다.
식 평가를 사용하도록 설정하려면 DE가 IDebugExpression2 및 IDebugExpressionContext2 인터페이스를 구현해야 합니다. 동기 및 비동기 평가 모두 IDebugProperty2::GetPropertyInfo 메서드의 구현이 필요합니다.