ICorProfilerCallback::RootReferences 메서드
가비지 수집 후 루트 참조에 대한 정보를 프로파일러에 알립니다.
HRESULT RootReferences(
[in] ULONG cRootRefs,
[in, size_is(cRootRefs)] ObjectID rootRefIds[] );
매개 변수
cRootRefs
[in] rootRefIds 배열의 참조 수입니다.rootRefIds
[in] 정적 개체나 스택에 있는 개체를 참조하는 개체 ID의 배열입니다.
설명
프로파일러에 알리기 위해 RootReferences와 ICorProfilerCallback2::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