다음을 통해 공유


지역 변수의 구현 샘플

Visual Studio 메서드에 대 한 지역 변수 식 계산기 (EE)를 얻는 방법에 대 한 개요는 다음과 같습니다.

  1. Visual Studio 호출 디버그 엔진 (DE)의 IDebugStackFrame2::GetDebugProperty 얻을 수 있는 IDebugProperty2 지역 변수를 포함 하는 스택 프레임의 속성을 모두 나타내는 개체입니다.

  2. IDebugStackFrame2::GetDebugProperty호출 IDebugExpressionEvaluator::GetMethodProperty 중단점 발생 하는 방법을 설명 하는 개체를 가져오도록 합니다. 기호 공급자는 DE 제공 (IDebugSymbolProvider), 주소 (IDebugAddress), 및 바인더 (IDebugBinder).

  3. IDebugExpressionEvaluator::GetMethodProperty호출 IDebugSymbolProvider::GetContainerField 에 있는 제공 된 IDebugAddress 가져올 개체는 IDebugContainerField 는 지정 된 주소를 포함 하는 메서드를 나타내는.

  4. IDebugContainerField 인터페이스에 대 한 쿼리는 IDebugMethodField 인터페이스입니다. 이 메서드의 지역 변수를 액세스할 수 있습니다이 인터페이스입니다.

  5. IDebugExpressionEvaluator::GetMethodProperty클래스를 인스턴스화하고 (라는 CFieldProperty 샘플에서) 구현 하는 IDebugProperty2 인터페이스 메서드의 지역 변수를 나타내는. IDebugMethodField 개체 배치에이 CFieldProperty 와 함께 개체는 IDebugSymbolProvider, IDebugAddressIDebugBinder 개체.

  6. 때의 CFieldProperty 개체를 초기화 IDebugField::GetInfo 에서 호출 되는 IDebugMethodField 개체를 얻을 수는 FIELD_INFO 메서드 자체에 대 한 표시할 수 있는 모든 정보를 포함 하는 구조.

  7. IDebugExpressionEvaluator::GetMethodProperty반환은 CFieldProperty 로 개체는 IDebugProperty2 개체입니다.

  8. 호출 Visual Studio IDebugProperty2::EnumChildren 에서 반환 되는 IDebugProperty2 개체를 필터링 하 여 guidFilterLocalsPlusArgs. 이 반환 된 IEnumDebugPropertyInfo2 메서드의 지역 변수를 포함 하는 개체입니다. 이 열거형에 대 한 호출으로 입력 됩니다 IDebugMethodField::EnumLocalsIDebugMethodField::EnumArguments.

  9. 호출 Visual Studio IEnumDebugPropertyInfo2::Next 얻을 수는 DEBUG_PROPERTY_INFO 각 지역에 대 한 구조입니다. 이 구조에 대 한 포인터를 포함 된 IDebugProperty2 지역에 대 한 인터페이스입니다.

  10. 호출 Visual Studio IDebugProperty2::GetPropertyInfo 의 로컬 이름, 값 및 형식을 가져오려면 각 지역에 대 한. 이 표시 되는 정보입니다 있는 지역 창입니다.

단원 내용

관련 단원

  • 평가 컨텍스트
    DE 식 계산기 (EE)를 호출할 때 전달 되는 인수를 제공 합니다.

  • MyCEE Sample
    MyC 언어에 대해 식 계산기를 만드는 한 가지 구현 방법을 보여 줍니다.

참고 항목

기타 리소스

지역 변수를 표시합니다.