次の方法で共有


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

参照

その他の技術情報

デバッグ構造体

デバッグ (アンマネージ API リファレンス)