Udostępnij za pośrednictwem


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

Zobacz też