Share via


ICorDebugCode3::GetReturnValueLiveOffset メソッド

指定した IL オフセットについて、デバッガーが関数からの戻り値を取得できるように、ブレークポイントを配置する必要があるネイティブなオフセットを取得します。

構文

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

パラメーター

ILoffset
オフセット IL。 関数呼び出しサイトであることが必要です。そうでない場合、関数呼び出しは失敗します。

bufferSize
pOffsets を格納できるバイト数。

pFetched
実際に返されたオフセットの数へのポインター。 通常、この値は 1 ですが、単一の IL 命令が複数の CALL アセンブリ命令にマップする場合があります。

pOffsets
ネイティブ オフセットの配列。 通常、pOffsets には単一のオフセットが含まれますが、単一の IL 命令が複数の CALL アセンブリ命令に対する複数のマップに対応する場合があります。

解説

このメソッドは、参照型を返すメソッドの戻り値を取得する ICorDebugILFrame3::GetReturnValueForILOffset メソッドと共に使用されます。 関数呼び出しサイトに対する IL オフセットをこのメソッドに渡すと、1 つ以上のネイティブ オフセットが返されます。 これによってデバッガーは、関数内のこうしたネイティブ オフセット上でブレークポイントを設定できます。 デバッガーがいずれかのブレークポイントに到達すると、戻り値を取得するために、このメソッドに渡した同じ IL オフセットを ICorDebugILFrame3::GetReturnValueForILOffset メソッドに渡すことができます。 この場合、デバッガーは設定したブレークポイントすべてをクリアする必要があります。

警告

ICorDebugCode3::GetReturnValueLiveOffset および ICorDebugILFrame3::GetReturnValueForILOffset メソッドでは、参照型に関する戻り値の情報のみを取得できます。 値型 (つまり、ValueType から派生するすべての型) からの戻り値情報の取得はサポートされません。

この関数は、次の表に示す HRESULT 値を返します。

HRESULT 説明
S_OK 正常終了しました。
CORDBG_E_INVALID_OPCODE 指定した IL オフセット サイトが呼び出し命令ではないか、関数が void を返しています。
CORDBG_E_UNSUPPORTED 指定した IL オフセットは適切な呼び出しですが、取得する戻り値の型がサポートされていません。

ICorDebugCode3::GetReturnValueLiveOffset メソッドは、x86 ベースおよび AMD64 システムでのみ使用できます。

必要条件

:システム要件」を参照してください。

ヘッダー: CorDebug.idl、CorDebug.h

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 4.5.1 以降で使用可能

関連項目