다음을 통해 공유


식 평가기

EE(식 계산기)는 런타임에 변수 및 식을 구문 분석하고 평가하기 위해 언어 구문을 검사하여 IDE가 중단 모드에 있을 때 사용자가 볼 수 있도록 합니다.

수식 평가기 사용

식은 다음과 같이 ParseText 메서드를 사용하여 생성됩니다.

  1. 디버그 엔진(DE)은 IDebugExpressionContext2 인터페이스를 구현합니다.

  2. 디버그 패키지는 IDebugExpressionContext2 인터페이스에서 개체를 가져오 고 해당 인터페이스의 메서드를 호출 IDebugStackFrame2::ParseText 하여 IDebugExpression2 개체를 가져옵니다.

  3. 디버그 패키지는 EvaluateSync 메서드 또는 EvaluateAsync 메서드를 호출하여 식의 값을 가져옵니다. IDebugExpression2::EvaluateAsync 는 명령/직접 실행 창에서 호출됩니다. 다른 모든 UI 구성 요소는 IDebugExpression2::EvaluateSync을 호출합니다.

  4. 식 계산의 결과는 식 계산 결과의 이름, 형식 및 값을 포함하는 IDebugProperty2 개체입니다.

    식 평가 중에 EE에는 기호 공급자 구성 요소의 정보가 필요합니다. 기호 공급자는 구문 분석된 식을 식별하고 이해하는 데 사용되는 기호 정보를 제공합니다.

    비동기 식 평가가 완료되면 DE가 SDM(세션 디버그 관리자)을 통해 비동기 이벤트를 전송하여 식 평가가 완료되었음을 IDE에 알립니다. 그런 다음, 메서드 호출에서 IDebugExpression2::EvaluateSync 평가 결과가 반환됩니다.

구현 참고 사항

Visual Studio 디버그 엔진은 CLR(공용 언어 런타임) 인터페이스를 사용하여 식 계산자와 통신해야 합니다. 따라서 Visual Studio 디버그 엔진에서 작동하는 식 계산기는 CLR을 지원해야 합니다(모든 CLR 디버깅 인터페이스의 전체 목록은 Windows SDK(소프트웨어 개발 키트)의 일부인 debugref.doc 찾을 수 있습니다).

참고하십시오