Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir çöp toplama gerçekleştikten sonra profil oluşturucuya kök başvurular hakkında bilgi sağlar. Bu yöntem, ICorProfilerCallback::RootReferences yönteminin bir uzantısıdır .
Sözdizimi
HRESULT RootReferences2(
[in] ULONG cRootRefs,
[in, size_is(cRootRefs)] ObjectID rootRefIds[],
[in, size_is(cRootRefs)] COR_PRF_GC_ROOT_KIND rootKinds[],
[in, size_is(cRootRefs)] COR_PRF_GC_ROOT_FLAGS rootFlags[],
[in, size_is(cRootRefs)] UINT_PTR rootIds[]);
Parametreler
cRootRefs
[in] , , rootKindsrootFlagsve rootIds dizilerindeki rootRefIdsöğelerin sayısı.
rootRefIds
[in] Her biri bir statik nesneye veya yığındaki bir nesneye başvuran nesne kimlikleri dizisi. Dizideki öğeler, dizideki rootKindsrootRefIds karşılık gelen öğeleri sınıflandırmak için bilgi sağlar.
rootKinds
[in] Çöp toplama kökünün türünü gösteren COR_PRF_GC_ROOT_KIND değerleri dizisi.
rootFlags
[in] Çöp toplama kökünün özelliklerini açıklayan COR_PRF_GC_ROOT_FLAGS değerleri dizisi.
rootIds
[in] Parametrenin değerine bağlı olarak çöp toplama kökü hakkında ek bilgiler içeren bir tamsayıya işaret eden UINT_PTR değerleri dizisi rootKinds .
Kök türü bir yığınsa, kök kimliği değişkeni içeren işlev içindir. Bu kök kimlik 0 ise, işlev CLR'nin içinde yer alan adlandırılmamış bir işlevdir. Kök türü bir tanıtıcıysa, kök kimliği çöp toplama tutamacının kimliğidir. Diğer kök türleri için kimlik, opak bir değerdir ve yoksayılmalıdır.
Açıklamalar
rootRefIds, rootKinds, rootFlagsve rootIds dizileri paralel dizilerdir. Diğer bir ifadeyle, rootRefIds[i], rootKinds[i], rootFlags[i]ve rootIds[i] tümü aynı kökle ilgilenilir.
RootReferences2 Profil oluşturucuyu bilgilendirmek için hem hem de RootReferences çağrılır. Profil oluşturucular normalde bir yöntemi veya diğerini uygular, ancak her ikisini birden uygulamaz, çünkü geçirilen RootReferences2 bilgiler içinde geçirilenin RootReferencesüst kümesidir.
içindeki rootRefIds girişlerin sıfır olması mümkündür; bu, karşılık gelen kök başvurunun null olduğunu ve yönetilen yığındaki bir nesneye başvurmadığını gösterir.
tarafından RootReferences2 döndürülen nesne kimlikleri, geri çağırma sırasında geçerli değildir çünkü çöp toplama, nesneleri eski adreslerden yeni adreslere taşıma işleminin ortasında olabilir. Bu nedenle, profil oluşturucular bir RootReferences2 çağrı sırasında nesneleri incelemeye çalışmamalıdır.
ICorProfilerCallback2::GarbageCollectionFinished çağrıldığında, tüm nesneler yeni konumlarına taşınır ve güvenli bir şekilde denetlenebilir.
Gereksinimler
Platform: Bkz. Sistem Gereksinimleri.
Üstbilgi: CorProf.idl, CorProf.h
Kitaplığı: CorGuids.lib
.NET Framework Sürümleri: 2.0 sürümünden itibaren kullanılabilir