다음을 통해 공유


ICorProfilerCallback::RootReferences 메서드

가비지 수집 후 루트 참조에 대한 정보를 프로파일러에 알립니다.

HRESULT RootReferences(
    [in] ULONG    cRootRefs,
    [in, size_is(cRootRefs)] ObjectID rootRefIds[] );

매개 변수

  • cRootRefs
    [in] rootRefIds 배열의 참조 수입니다.

  • rootRefIds
    [in] 정적 개체나 스택에 있는 개체를 참조하는 개체 ID의 배열입니다.

설명

프로파일러에 알리기 위해 RootReferencesICorProfilerCallback2::RootReferences2 모두 호출됩니다. RootReferences2에 전달되는 정보는 RootReferences에 전달되는 정보의 상위 집합이기 때문에 프로파일러에서는 일반적으로 둘 중에 하나만 구현합니다.

rootRefIds 배열에 null 개체가 포함될 수 있습니다. 예를 들어 스택에 선언된 모든 개체 참조는 가비지 수집기에서 루트로 처리되며 항상 보고됩니다.

콜백 중에는 가비지 수집 과정에서 개체를 이전 주소에서 새 주소로 이동하는 중일 수 있으므로 RootReferences에서 반환된 개체 ID가 유효하지 않습니다. 따라서 프로파일러에서는 RootReferences를 호출하는 동안에는 개체를 검사하지 말아야 합니다. ICorProfilerCallback2::GarbageCollectionFinished가 호출되면 모든 개체가 새 위치로 이동된 것이므로 개체를 안전하게 검사할 수 있습니다.

요구 사항

플랫폼: .NET Framework 시스템 요구 사항 참조

헤더: CorProf.idl, CorProf.h

라이브러리: CorGuids.lib

.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

참고 항목

참조

ICorProfilerCallback 인터페이스