Metode ICorProfilerInfo4::GetILToNativeMapping2
Mendapatkan peta dari offset bahasa perantara umum (CIL) ke offset asli untuk kode yang terkandung dalam versi fungsi yang dikompilasi ulang JIT.
Sintaks
HRESULT GetILToNativeMapping2(
[in] FunctionID functionId,
[in] ReJITID reJitId,
[in] ULONG32 cMap,
[out] ULONG32 *pcMap,
[out, size_is(cMap), length_is(*pcMap)]
COR_DEBUG_IL_TO_NATIVE_MAP map[]);
Parameter
functionId
[di] ID fungsi yang berisi kode.
pReJitId
[in] Identitas fungsi kompilasi ulang JIT. Identitas harus nol dalam .NET Framework 4.5.
cMap
[in] Ukuran maksimum array map
.
pcMap
[out] Jumlah total struktur COR_DEBUG_IL_TO_NATIVE_MAP yang tersedia.
map
[out] Array COR_DEBUG_IL_TO_NATIVE_MAP
struktur, yang masing-masing menentukan offset. Setelah metode GetILToNativeMapping2
kembali, map
akan berisi beberapa atau semua struktur COR_DEBUG_IL_TO_NATIVE_MAP
.
Keterangan
GetILToNativeMapping2
mirip dengan metode ICorProfilerInfo::GetILToNativeMapping, kecuali bahwa itu akan memungkinkan profiler untuk menentukan ID fungsi yang dikompilasi ulang di rilis mendatang.
Catatan
Metode ICorProfilerFunctionControl::SetILInstrumentedCodeMap tidak diimplementasikan dalam .NET Framework 4.5, sehingga fungsi yang telah dikompilasi ulang JIT tidak dapat memiliki pemetaan IL-ke-asli yang berbeda dari fungsi yang awalnya dikompilasi. Dengan demikian, GetILToNativeMapping2
tidak dapat dipanggil dengan ID kompilasi ulang JIT nonzero di .NET Framework 4.5.
Metode GetILToNativeMapping2
mengembalikan array struktur COR_DEBUG_IL_TO_NATIVE_MAP
. Untuk menyampaikan bahwa rentang tertentu dari petunjuk asli sesuai dengan wilayah kode khusus (misalnya, prolog), entri dalam array dapat memiliki bidang ilOffset
miliknya yang diatur ke nilai enumerasi CorDebugIlToNativeMappingTypes.
Setelah GetILToNativeMapping2
dikembalikan, Anda harus memverifikasi bahwa buffer map
cukup besar untuk berisi semua struktur COR_DEBUG_IL_TO_NATIVE_MAP
. Untuk melakukannya, bandingkan nilai cMap
dengan nilai parameter pcMap
. Jika nilai pcMap
, saat dikalikan dengan ukuran struktur COR_DEBUG_IL_TO_NATIVE_MAP
, lebih besar dari cMap
, alokasikan buffer map
yang lebih besar, perbarui cMap
dengan ukuran baru yang lebih besar, dan panggil GetILToNativeMapping2
lagi.
Atau, Anda dapat terlebih dahulu memanggil GetILToNativeMapping2
dengan buffer map
kosong untuk mendapatkan ukuran buffer yang benar. Kemudian, Anda dapat mengatur ukuran buffer ke nilai yang dikembalikan di pcMap
dan memanggil GetILToNativeMapping2
lagi.
Persyaratan
Platform: Lihat Persyaratan Sistem.
Header: CorProf.idl, CorProf.h
Pustaka: CorGuids.lib
Versi .NET Framework: Tersedia mulai dari 4.5
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk