次の方法で共有


COR_IL_MAP構造体

関数の相対オフセットの変更を指定します。

構文

typedef struct _COR_IL_MAP {
    ULONG32 oldOffset;
    ULONG32 newOffset;
    BOOL    fAccurate;
} COR_IL_MAP;

Members

メンバー Description
oldOffset 関数の先頭を基準とした古い共通中間言語 (CIL) オフセット。
newOffset 関数の先頭を基準とした新しい CIL オフセット。
fAccurate true マッピングが正確であることが判明している場合。それ以外の場合は false

注釈

マップの形式は次のとおりです。デバッガーは、 oldOffset が元の変更されていない CIL コード内の CIL オフセットを参照することを前提としています。 newOffset パラメーターは、新しいインストルメント化されたコード内の対応する CIL オフセットを参照します。

ステップ実行を適切に機能させるには、次の要件を満たす必要があります。

  • マップは昇順で並べ替える必要があります。
  • インストルメント化された CIL コードの順序を変更しないでください。
  • 元の CIL コードを削除しないでください。
  • マップには、プログラム データベース (PDB) ファイルのすべてのシーケンス ポイントをマップするためのエントリが含まれている必要があります。

マップでは、欠落しているエントリは補間されません。 次の例は、マップとその結果を示しています。

地図:

  • 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 にマップされます。

Requirements

プラットフォーム:サポートされている .NET オペレーティング システムを参照してください。

ヘッダ: CorDebug.idl、CorProf.idl

図書館: CorGuids.lib

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