Bagikan melalui


Metode ICorProfilerInfo4::GetCodeInfo3

Mendapatkan tingkat kode asli yang terkait dengan versi yang dikompilasi ulang oleh JIT dari fungsi yang ditentukan.

Sintaks

HRESULT GetCodeInfo3(  
    [in]  FunctionID functionID,  
    [in]  ReJITID reJitId,  
    [in]  ULONG32 cCodeInfos,  
    [out] ULONG32 *pcCodeInfos,  
    [out, size_is(cCodeInfos), length_is(*pcCodeInfos)]  
    COR_PRF_CODE_INFO codeInfos[]);  

Parameter

functionID
[in] ID dari fungsi yang terkait dengan kode asli.

reJitId
[in] Identitas dari fungsi yang dikompilasi ulang JIT.

cCodeInfos
[in] Ukuran array codeInfos.

pcCodeInfos
[out] Penunjuk ke jumlah total struktur COR_PRF_CODE_INFO yang tersedia.

codeInfos
[out] Buffer yang disediakan pemanggil. Setelah metode kembali, metode ini berisi struktur array COR_PRF_CODE_INFO, yang masing-masing menjelaskan blok kode asli.

Keterangan

Metode GetCodeInfo3 mirip dengan GetCodeInfo2, kecuali bahwa metode ini akan mendapatkan ID yang dikompilasi ulang JIT dari fungsi yang berisi alamat IP yang ditentukan.

Catatan

GetCodeInfo3 dapat memicu pengumpulan sampah, sedangkan GetCodeInfo2 tidak akan memicu pengumpulan sampah. Untuk informasi selengkapnya, lihat HRESULT CORPROF_E_UNSUPPORTED_CALL_SEQUENCE.

Luasnya diurutkan dalam rangka meningkatkan offset Common Intermediate Language (CIL).

Setelah GetCodeInfo3 kembali, Anda harus memverifikasi bahwa buffer codeInfos cukup besar untuk berisi semua struktur COR_PRF_CODE_INFO. Untuk melakukannya, bandingkan nilai cCodeInfos dengan nilai parameter cchName. Jika cCodeInfos dibagi dengan ukuran struktur COR_PRF_CODE_INFO adalah lebih kecil dari pcCodeInfos, alokasikan buffer codeInfos yang lebih besar, perbarui cCodeInfos dengan ukuran baru yang lebih besar, dan panggil GetCodeInfo3 lagi.

Atau, Anda dapat terlebih dahulu memanggil GetCodeInfo3 dengan panjang buffer codeInfos kosong untuk mendapatkan ukuran buffer yang benar. Anda kemudian dapat mengatur ukuran buffer codeInfos ke nilai yang dikembalikan dalam pcCodeInfos, dikalikan dengan ukuran struktur COR_PRF_CODE_INFO, dan memanggil GetCodeInfo3 lagi.

Persyaratan

Platform: Lihat Persyaratan Sistem.

Header: CorProf.idl, CorProf.h

Pustaka: CorGuids.lib

Versi .NET Framework: Tersedia mulai dari 4.5

Lihat juga