次の方法で共有


ICorDebugILCode2::GetInstrumentedILMap メソッド

[.NET Framework 4.5.2 以降のバージョンでのみでサポート]

このインスタンスについて、プロファイラー インストルメント中間言語 (IL: intermediate language) オフセットから、元のメソッドの IL オフセットまでのマップを返します。

構文

HRESULT GetInstrumentedILMap(
   [in] ULONG32 cMap,
   [out] ULONG32 *pcMap,
   [out, size_is(cMap), length_is(*pcMap)] COR_IL_MAP map[]
);

パラメーター

cMap [in] map 配列のストレージ容量。 詳細については、次の「解説」を参照してください。

pcMap [out] マップ配列に書き込まれたCOR_IL_MAP値の数。

map [out] プロファイラーによってインストルメント化された IL から元のメソッドの IL へのマッピングに関する情報を提供するCOR_IL_MAP値の配列。

解説

ICorProfilerInfo::SetILInstrumentedCodeMap メソッドを呼び出すことによって、プロファイラーがマッピングを設定する場合、デバッガーはこのメソッドを呼び出して、マッピングを取得し、スタック トレースの IL オフセットと変数の有効期間を計算するときにこのマッピングを内部的に使用することができます。

cMap が 0 で、pcMapnull ではない場合、pcMap は使用可能な COR_IL_MAP 値の数に設定されます。 cMap が 0 以外の場合は、map アレイの記憶容量を表します。 メソッドから戻ったときに、map には cMap 項目の最大数が格納され、pcMapmap 配列に実際に書き込まれた COR_IL_MAP 値の数に設定されます。

IL がインストルメント化されていない、またはプロファイラーによってマッピングが指定されなかった場合、このメソッドは S_OK を返し、pcMap を 0 に設定します。

必要条件

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

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

ライブラリ: CorGuids.lib

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

関連項目