Bagikan melalui


Metode ICorDebugManagedCallback2::FunctionRemapOpportunity

Memberi tahu debugger bahwa eksekusi kode telah mencapai titik urutan dalam versi fungsi yang diedit yang lebih lama.

Syntax

HRESULT FunctionRemapOpportunity (
    [in] ICorDebugAppDomain   *pAppDomain,
    [in] ICorDebugThread      *pThread,
    [in] ICorDebugFunction    *pOldFunction,
    [in] ICorDebugFunction    *pNewFunction,
    [in] ULONG32              oldILOffset
);

Parameter-parameternya

pAppDomain [di] Penunjuk ke objek ICorDebugAppDomain yang mewakili domain aplikasi yang berisi fungsi yang diedit.

pThread [di] Penunjuk ke objek ICorDebugThread yang mewakili utas tempat titik henti remap ditemui.

pOldFunction [di] Penunjuk ke objek ICorDebugFunction yang mewakili versi fungsi yang saat ini berjalan pada utas.

pNewFunction [di] Penunjuk ke objek ICorDebugFunction yang mewakili versi terbaru fungsi.

oldILOffset [di] Offset bahasa perantara umum (CIL) dari penunjuk instruksi dalam versi lama fungsi.

Komentar

Panggilan balik ini memberi debugger kesempatan untuk memetakan ulang penunjuk instruksi ke tempat yang tepat di versi baru fungsi yang ditentukan dengan memanggil metode ICorDebugILFrame2::RemapFunction . Jika debugger tidak memanggil RemapFunction sebelum memanggil metode ICorDebugController::Continue , runtime akan terus menjalankan kode lama dan akan mengaktifkan panggilan balik lain FunctionRemapOpportunity pada titik urutan berikutnya.

Panggilan balik ini akan dipanggil untuk setiap bingkai yang menjalankan versi lama dari fungsi yang diberikan hingga debugger mengembalikan S_OK.

Persyaratan

Platform: Lihat Sistem operasi yang didukung .NET.

Header: CorDebug.idl, CorDebug.h

Perpustakaan: CorGuids.lib

Versi .NET: Tersedia sejak .NET Framework 2.0

Lihat juga