COR_IL_MAP 構造体
関数の相対的なオフセットの変更を指定します。
typedef struct _COR_IL_MAP {
ULONG32 oldOffset;
ULONG32 newOffset;
BOOL fAccurate;
} COR_IL_MAP;
メンバー
メンバー |
説明 |
---|---|
oldOffset |
関数の先頭を基準とした古い Microsoft Intermediate Language (MSIL) のオフセット。 |
newOffset |
関数の先頭を基準とした新しい Microsoft Intermediate Language (MSIL) のオフセット。 |
fAccurate |
割り当てが正確であると認識されている場合は true。それ以外の場合は false。 |
解説
割り当ての形式は次のとおりです。デバッガーは、oldOffset が、変更されていない元の MSIL コード内の MSIL オフセットを参照していると見なします。 newOffset パラメーターは、実装された新しいコード内の対応する MSIL オフセットを参照します。
ステップ実行が正しく機能するには、以下の要件が満たされている必要があります。
割り当ては昇順に並べ替える必要があります。
インストルメント化した MSIL コードを並べ替えないでください。
元の MSIL コードを削除しないでください。
プログラム データベース (PDB: Program Database) ファイルからすべてのシーケンス ポイントを割り当てるために、割り当てにエントリを含める必要があります。
割り当てでは、欠落しているエントリは挿入されません。 割り当てとその結果の例を次に示します。
割り当て :
0 の古いオフセット、0 の新しいオフセット
5 の古いオフセット、10 の新しいオフセット
9 の古いオフセット、20 の新しいオフセット
結果 :
0、1、2、3、または 4 の古いオフセットは、0 の新しいオフセットに割り当てられます。
5、6、7、または 8 の古いオフセットは、新しいオフセット 10 に割り当てられます。
9 の古いオフセットまたはそれ以降は、新しいオフセット 20 にマップされます。
0、1、2、3、4、5、6、7、8、または 9 の新しいオフセットは、古いオフセット 0 に割り当てられます。
10、11、12、13、14、15、16、17、18、または 19 の新しいオフセットは、古いオフセット 5 に割り当てられます。
20 以上の新しいオフセットは、古いオフセット 9 に割り当てられます。
必要条件
プラットフォーム : 「.NET Framework システム要件」を参照
ヘッダー : CorDebug.idl、CorProf.idl
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0