ICorDebugManagedCallback2::FunctionRemapOpportunity — Metoda
Powiadamia debugera, że wykonanie kodu osiągnęło punkt sekwencji w starszej wersji edytowanej funkcji.
Składnia
HRESULT FunctionRemapOpportunity (
[in] ICorDebugAppDomain *pAppDomain,
[in] ICorDebugThread *pThread,
[in] ICorDebugFunction *pOldFunction,
[in] ICorDebugFunction *pNewFunction,
[in] ULONG32 oldILOffset
);
Parametry
pAppDomain
[in] Wskaźnik do obiektu ICorDebugAppDomain, który reprezentuje domenę aplikacji zawierającą edytowaną funkcję.
pThread
[in] Wskaźnik do obiektu ICorDebugThread, który reprezentuje wątek, na którym napotkano punkt przerwania ponownej mapy.
pOldFunction
[in] Wskaźnik do obiektu ICorDebugFunction, który reprezentuje wersję funkcji, która jest obecnie uruchomiona w wątku.
pNewFunction
[in] Wskaźnik do obiektu ICorDebugFunction, który reprezentuje najnowszą wersję funkcji.
oldILOffset
[in] Przesunięcie wspólnego języka pośredniego (CIL) wskaźnika instrukcji w starej wersji funkcji.
Uwagi
To wywołanie zwrotne daje debugerowi możliwość ponownego mapowania wskaźnika instrukcji na odpowiednie miejsce w nowej wersji określonej funkcji przez wywołanie metody ICorDebugILFrame2::RemapFunction . Jeśli debuger nie wywołuje RemapFunction
metody ICorDebugController::Continue , środowisko uruchomieniowe będzie nadal wykonywać stary kod i uruchamia kolejne FunctionRemapOpportunity
wywołanie zwrotne w następnym punkcie sekwencji.
To wywołanie zwrotne będzie wywoływane dla każdej ramki, która wykonuje starszą wersję danej funkcji, dopóki debuger nie zwróci S_OK.
Wymagania
Platformy: zobacz Wymagania systemowe.
Nagłówek: CorDebug.idl, CorDebug.h
Biblioteka: CorGuids.lib
Wersje programu .NET Framework: dostępne od wersji 2.0