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
를 통해 전달된 값은 유효하지 않습니다. 가비지 수집이 이전 위치에서 새 위치로 개체를 이동하는 중일 수 있기 때문입니다. 따라서 프로파일러는 RootReferences
호출 중에 개체 검사를 시도해서는 안 됩니다. ICorProfilerCallback2::GarbageCollectionFinished가 호출되었을 때 모든 개체가 새 위치로 이동되었으며 안전하게 검사할 수 있습니다.
요구 사항
플랫폼:시스템 요구 사항을 참조하세요.
헤더: CorProf.idl, CorProf.h
라이브러리: CorGuids.lib
.NET Framework 버전: 2.0부터 사용 가능
참고 항목
.NET