다음을 통해 공유


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를 통해 전달된 값은 유효하지 않습니다. 가비지 수집이 이전 위치에서 새 위치로 개체를 이동하는 중일 수 있기 때문입니다. 따라서 프로파일러는 RootReferences 호출 중에 개체 검사를 시도해서는 안 됩니다. ICorProfilerCallback2::GarbageCollectionFinished가 호출되었을 때 모든 개체가 새 위치로 이동되었으며 안전하게 검사할 수 있습니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: CorProf.idl, CorProf.h

라이브러리: CorGuids.lib

.NET Framework 버전: 2.0부터 사용 가능

참고 항목