ICorDebugCode3::GetReturnValueLiveOffset, méthode

Pour un décalage IL spécifié, obtient les décalages natifs où un point d’arrêt doit être placé afin que le débogueur puisse obtenir la valeur de retour d’une fonction.

Syntaxe

HRESULT GetReturnValueLiveOffset(  
    [in] ULONG32 ILoffset,  
    [in] ULONG32 bufferSize,
    [out] ULONG32 *pFetched,
    [out, size_is(buffersize), length_is(*pFetched)] ULong32 pOffsets[]  
);  

Paramètres

ILoffset
Décalage IL. Il doit s’agir d’un site d’appel de fonction, sinon l’appel de fonction échoue.

bufferSize
Nombre d’octets disponibles pour stocker pOffsets.

pFetched
Pointeur vers le nombre de décalages réellement retournés. En règle générale, sa valeur est 1, mais une seule instruction IL peut être mappée à plusieurs instructions d’assembly CALL.

pOffsets
Tableau de décalages natifs. En règle générale, pOffsets contient un seul décalage. Toutefois, une seule instruction IL peut être mappée à plusieurs instructions d’assembly CALL.

Remarques

Cette méthode est utilisée avec la méthode ICorDebugILFrame3::GetReturnValueForILOffset pour obtenir la valeur de retour d’une méthode qui retourne un type référence. Le passage d’un décalage IL à un site d’appel de fonction, puis à cette méthode retourne un ou plusieurs décalages natifs. Le débogueur peut alors définir des points d’arrêt sur ces décalages natifs dans la fonction. Quand le débogueur rencontre l’un des points d’arrêt, vous pouvez passer le même décalage IL que celui que vous avez passé à cette méthode à la méthode ICorDebugILFrame3::GetReturnValueForILOffset pour obtenir la valeur de retour. Le débogueur doit alors effacer tous les points d’arrêt qu’il a définis.

Avertissement

Les méthodes ICorDebugCode3::GetReturnValueLiveOffset et ICorDebugILFrame3::GetReturnValueForILOffset vous permettent d’obtenir des informations sur la valeur de retour des types référence uniquement. La récupération d’informations sur la valeur renvoyée à partir de types valeur (autrement dit, tous les types qui dérivent de ValueType) n’est pas prise en charge.

La fonction retourne les valeurs HRESULT affichées dans le tableau suivant.

Valeur HRESULT Description
S_OK Réussite.
CORDBG_E_INVALID_OPCODE Le site de décalage IL donné n’est pas une instruction d’appel, ou la fonction retourne void.
CORDBG_E_UNSUPPORTED Le décalage IL donné est un appel correct, mais le type de retour n’est pas pris en charge pour l’obtention d’une valeur de retour.

La méthode ICorDebugCode3::GetReturnValueLiveOffset est uniquement disponible sur les systèmes x86 et AMD64.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : CorDebug.idl, CorDebug.h

Bibliothèque : CorGuids.lib

Versions de .NET Framework : Disponibles depuis la version 4.5.1

Voir aussi