ICorProfilerCallback2::RootReferences2 Yöntemi
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] , , rootKinds
rootFlags
ve 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 rootKinds
rootRefIds
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
, rootFlags
ve 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
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin