ICorDebugILFrame2::RemapFunction — Metoda
Ponownie mapuje edytowaną funkcję, określając nowe przesunięcie wspólnego języka pośredniego (CIL)
Składnia
HRESULT RemapFunction (
[in] ULONG32 newILOffset
);
Parametry
newILOffset
[in] Nowy przesunięcie CIL ramki stosu, w którym powinien zostać umieszczony wskaźnik instrukcji. Ta wartość musi być punktem sekwencji.
Obowiązkiem obiektu wywołującego jest zapewnienie ważności tej wartości. Na przykład przesunięcie CIL jest nieprawidłowe, jeśli znajduje się poza granicami funkcji.
Uwagi
Gdy funkcja ramki została edytowana, debuger może wywołać RemapFunction
metodę zamiany w najnowszej wersji funkcji ramki, aby można było ją wykonać. Wykonanie kodu rozpocznie się od danego przesunięcia CIL.
Uwaga
Wywołanie metody RemapFunction
, na przykład wywołanie elementu ICorDebugILFrame::SetIP, spowoduje natychmiastowe unieważnienie wszystkich interfejsów debugowania związanych z generowaniem śledzenia stosu dla wątku. Te interfejsy obejmują element ICorDebugChain, ICorDebugILFrame, ICorDebugInternalFrame i ICorDebugNativeFrame.
RemapFunction
Metodę można wywołać tylko w kontekście bieżącej ramki i tylko w jednym z następujących przypadków:
Po otrzymaniu wywołania zwrotnego ICorDebugManagedCallback2::FunctionRemapOpportunity , które nie zostało jeszcze kontynuowane.
Wykonanie kodu zostało zatrzymane z powodu zdarzenia ICorDebugManagedCallback::EditAndContinueRemap dla tej ramki.
Wymagania
Platformy: zobacz Wymagania systemowe.
Nagłówek: CorDebug.idl, CorDebug.h
Biblioteka: CorGuids.lib
Wersje programu .NET Framework: dostępne od wersji 2.0