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 以降で使用可能
関連項目
.NET