중요합니다
Visual Studio 2015에서는 식 계산기를 구현하는 이러한 방법이 더 이상 사용되지 않습니다. CLR 식 계산기 구현에 대한 자세한 내용은 CLR 식 계산기 및 관리 식 계산기 샘플을 참조하세요.
EE(식 계산기)를 계산 컨텍스트와 함께 작성할 때는 다음 인터페이스를 잘 알고 있어야 합니다.
인터페이스 설명
-
현재 실행 지점을 나타내는 데이터 구조를 가져오는 단일 메서드 GetAddress가 있습니다. 이 데이터 구조는 DE(디버그 엔진)가 식을 평가하기 위해 EvaluateSync 메서드에 전달하는 세 가지 인수 중 하나입니다. 이 인터페이스는 일반적으로 기호 공급자에 의해 구현됩니다.
-
기호의 현재 값을 포함하는 메모리 영역을 가져오는 Bind 메서드가 있습니다. IDebugObject 개체로 표현되는 포함하는 메서드와 IDebugField
IDebugBinder::Bind개체가 나타내는 기호 자체가 모두 지정되면 기호의 값이 반환됩니다.IDebugBinder는 일반적으로 DE에 의해 구현됩니다. -
단순 데이터 형식을 나타냅니다. 배열 및 메서드와 같은 더 복잡한 형식의 경우 파생 IDebugArrayField 및 IDebugMethodField 인터페이스를 각각 사용합니다. IDebugContainerField 는 메서드 또는 클래스와 같은 다른 기호를 포함하는 기호를 나타내는 또 다른 중요한 파생 인터페이스입니다.
IDebugField인터페이스(및 해당 파생 항목)는 일반적으로 기호 공급자에 의해 구현됩니다.개체를
IDebugField사용하여 기호의 이름과 형식을 찾고 IDebugBinder 개체와 함께 해당 값을 찾을 수 있습니다. -
기호의 런타임 값의 실제 비트를 나타냅니다. Bind 는 기호를 나타내는 IDebugField 개체를 사용하고 IDebugObject 개체를 반환합니다. GetValue 메서드는 메모리 버퍼에 있는 기호의 값을 반환합니다. DE는 일반적으로 메모리의 속성 값을 나타내기 위해 이 인터페이스를 구현합니다.
-
이 인터페이스는 식 계산기 자체를 나타냅니다. 키 메서드는 IDebugParsedExpression 인터페이스를 반환하는 Parse입니다.
-
이 인터페이스는 평가할 준비가 된 구문 분석된 식을 나타냅니다. 키 메서드는 식의 값과 형식을 나타내는 IDebugProperty2를 반환하는 EvaluateSync 입니다.
-
이 인터페이스는 값과 해당 형식을 나타내며 식 평가의 결과입니다.