次の方法で共有


ICorProfilerInfo::GetILToNativeMapping メソッド

共通中間言語 (CIL) オフセットから、指定した関数に含まれるコードのネイティブ オフセットへのマップを取得します。

構文

HRESULT GetILToNativeMapping(
    [in] FunctionID functionId,
    [in] ULONG32 cMap,
    [out] ULONG32 *pcMap,
    [out, size_is(cMap), length_is(*pcMap)]
        COR_DEBUG_IL_TO_NATIVE_MAP map[]);

パラメーター

functionId [in]コードを含む関数の ID。

cMap [in] map 配列の最大サイズ。

pcMap [out]使用可能なCOR_DEBUG_IL_TO_NATIVE_MAP構造体の合計数。

map [out] COR_DEBUG_IL_TO_NATIVE_MAP 構造体の配列。各構造体はオフセットを指定します。 GetILToNativeMapping メソッドが戻ると、mapにはCOR_DEBUG_IL_TO_NATIVE_MAP構造体の一部またはすべてが含まれます。

注釈

GetILToNativeMapping メソッドは、COR_DEBUG_IL_TO_NATIVE_MAP構造体の配列を返します。 特定のネイティブ命令範囲がコードの特殊な領域 (プロローグなど) に対応していることを伝えるために、配列内のエントリの ilOffset フィールドを CorDebugIlToNativeMappingTypes 列挙型の値に設定できます。

GetILToNativeMapping返された後、map バッファーがすべてのCOR_DEBUG_IL_TO_NATIVE_MAP構造体を格納するのに十分な大きさであることを確認する必要があります。 これを行うには、 cMap の値と pcMap パラメーターの値を比較します。 pcMap値にCOR_DEBUG_IL_TO_NATIVE_MAP構造体のサイズを乗算したときに、cMapよりも大きい場合は、より大きなmap バッファーを割り当て、新しい大きなサイズでcMapを更新し、GetILToNativeMappingを再度呼び出します。

または、最初に長さ 0 のmap バッファーでGetILToNativeMappingを呼び出して、正しいバッファー サイズを取得することもできます。 その後、バッファー サイズを pcMap で返される値に設定し、 GetILToNativeMapping を再度呼び出すことができます。

Requirements

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

ヘッダ: CorProf.idl、CorProf.h

ライブラリ: CorGuids.lib

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

こちらも参照ください