Bagikan melalui


ICorProfilerInfo2::Metode GetGenerationBounds

Mendapatkan wilayah memori, yang merupakan segmen tumpukan, yang membentuk berbagai generasi pengumpulan sampah.

Sintaks

HRESULT GetGenerationBounds(  
    [in]  ULONG cObjectRanges,  
    [out] ULONG *pcObjectRanges,  
    [out, size_is(cObjectRanges), length_is(*pcObjectRanges)] COR_PRF_GC_GENERATION_RANGE ranges[]);  

Parameter

cObjectRanges
[in] Jumlah elemen yang dialokasikan oleh pemanggil untuk larik ranges.

pcObjectRanges
[out] Pointer ke bilangan bulat yang menentukan jumlah total rentang, beberapa atau semuanya akan dikembalikan dalam larik ranges.

ranges
[out] Larik struktur COR_PRF_GC_GENERATION_RANGE , yang masing-masing menggambarkan rentang (yaitu, blok) memori dalam generasi yang sedang menjalani pengumpulan sampah.

Keterangan

Metode GetGenerationBounds dapat dipanggil dari panggilan balik profiler apa pun, asalkan pengumpulan sampah tidak berlangsung.

Sebagian besar perpindahan generasi terjadi selama pengumpulan sampah. Generasi mungkin tumbuh di antara koleksi tetapi umumnya tidak berpindah-pindah. Oleh karena itu, tempat paling menarik untuk menelepon GetGenerationBounds adalah di ICorProfilerCallback2::GarbageCollectionStarted dan ICorProfilerCallback2::GarbageCollectionFinished.

Selama startup program, beberapa objek dialokasikan oleh runtime bahasa umum (CLR) itu sendiri, umumnya pada generasi 3 dan 0. Jadi, pada saat kode terkelola mulai dijalankan, generasi ini sudah berisi objek. Generasi 1 dan 2 biasanya akan kosong, kecuali objek dummy yang dihasilkan oleh pengumpul sampah. (Ukuran objek dummy adalah 12 byte dalam implementasi 32-bit CLR; ukurannya lebih besar dalam implementasi 64-bit.) Anda mungkin juga melihat rentang generasi 2 yang ada di dalam modul yang diproduksi oleh Generator Gambar Asli (NGen.exe ). Dalam hal ini, objek di generasi 2 adalah objek beku, yang dialokasikan saat NGen.exe dijalankan dan bukan oleh pengumpul sampah.

Fungsi ini menggunakan buffer yang dialokasikan pemanggil.

Persyaratan

Platform: Lihat Persyaratan Sistem.

Header: CorProf.idl, CorProf.h

Pustaka: CorGuids.lib

Versi .NET Framework: Tersedia mulai dari 2.0

Lihat juga