Share via


IDebugReference2

이 인터페이스는 스택 프레임 속성 또는 일부 다른 속성에 대한 참조를 나타냅니다.

참고 항목

IDebugReference2는 나중에 사용하기 위해 예약되어 있으며 해당 메서드는 모두 E_NOTIMPL을 반환해야 합니다.

구문

IDebugReference2 : IUnknown

구현자에 대한 참고 사항

DE는 특정 종류의 값에 대한 참조를 나타내기 위해 이 인터페이스를 구현합니다. 예를 들어 식 계산, 메모리 표시에 사용되는 메모리 컨텍스트 또는 레지스터와 해당 값 목록의 결과로 표시할 숫자 값에 대해 구현할 수 있습니다.

호출자 참고 사항

GetReference를 호출하여 이 인터페이스를 가져옵니다. GetParentGetDerivedMostReference도 이 인터페이스를 반환합니다.

Vtable 순서의 메서드

다음 표에서는 IDebugReference2 메서드를 보여 줍니다.

메서드 설명
GetReferenceInfo 이 참조를 설명하는 DEBUG_REFERENCE_INFO 구조체를 가져옵니다.
SetValueAsString 문자열에서 이 참조의 값을 설정합니다.
SetValueAsReference 다른 참조에서 이 참조의 값을 설정합니다.
EnumChildren 이 참조의 자식을 열거합니다.
GetParent 이 참조의 부모를 가져옵니다.
GetDerivedMostReference 이 참조에서 가장 많이 파생된 참조를 가져옵니다.
GetMemoryBytes 이 참조가 참조하는 메모리 바이트를 가져옵니다.
GetMemoryContext 이 참조에 대한 메모리 컨텍스트를 가져옵니다.
GetSize 이 참조의 크기(바이트)를 가져옵니다.
SetReferenceType 이 참조 형식을 설정합니다.
비교 이 참조를 다른 참조와 비교합니다.

설명

참고 항목

이렇게 "속성"을 사용할 때 클래스의 멤버 변수를 의미하는 엔터티와 혼동해서는 안 됩니다. IDebugReference2가 그러한 엔터티를 나타낼 수는 있지만 혼동하지 않도록 합니다.

  • IDebugProperty2는 속성을 나타내고 IDebugReference2는 속성에 대한 참조(일반적으로 디버그되는 프로그램의 개체에 대한 참조)를 나타냅니다.

속성과 참조의 큰 차이는 속성은 개체의 명명된 인스턴스를 참조하는 반면 참조는 명명되지 않은 인스턴스를 참조한다는 것입니다. 예를 들어 속성은 "a.b"에 의해 프로그램 힙의 개체를 참조할 수 있습니다. 다른 속성은 "c.d"와 동일한 개체를 참조할 수 있습니다. 이 속성을 참조하는 방법을 사용하려면 범위에 "a.b" 또는 "c.d"가 있어야 합니다. 이 동일한 개체에 대한 참조는 이름이 없습니다. 해당 개체의 메모리가 유효한 경우 개체를 참조할 수 있습니다.

IDebugProperty2 인터페이스는 이름, 형식 및 주소가 있는 값으로 간주할 수 있습니다. 반면에 IDebugReference2는 형식 및 주소로 간주할 수 있습니다.

요구 사항

헤더: msdbg.h

네임스페이스: Microsoft.VisualStudio.Debugger.Interop

어셈블리: Microsoft.VisualStudio.Debugger.Interop.dll

참고 항목