다음을 통해 공유


식 계산기

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

식 계산기 사용

식은 다음과 같이 ParseText 메서드를 사용하여 만들어집니다.

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

  2. 디버그 패키지는 IDebugStackFrame2 인터페이스에서 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에서 찾을 수 있음).

참고 항목