6.1.1 デバッグ ディレクトリ(イメージのみ)

イメージ ファイルはオプションの「デバッグ ディレクトリ」を含んでいます。これはどのような形態のデバッグ情報が存在していて、それがどこにあるかを示します。このディレクトリは、「デバッグ ディレクトリ エントリ」の配列からなります。その位置とサイズはイメージのオプション ヘッダ内に示されています。

デバッグ ディレクトリは破棄可能な.debugセクション(が存在していればその中)に存在する場合もあれば、イメージ ファイル中の別のセクションに含まれる場合もあり、セクション中にまったく存在しない場合もあります。

各デバッグ ディレクトリ エントリはデバッグ情報のブロックの位置とサイズを示します。デバッグ情報がセクション ヘッダによってカバーされていない場合には、指定されたRVAが0になることがあります(つまり、それはイメージ ファイル中にあって、実行時のアドレス空間にはマップされていません)。マップされている場合には、RVAはそのアドレスになります。

以下にデバッグ ディレクトリエントリの形式を示します。

オフセット サイズ フィールド 解説
0 4 Characteristics フラグ用として予約されているフィールド。現在はゼロにセットされています。
4 4 TimeDateStamp デバッグ データの作成された日時。
8 2 MajorVersion デバッグ データ形式のメジャー バージョン番号。
10 2 MinorVersion デバッグ データ形式のマイナー バージョン番号。
12 4 Type デバッグ情報の形式。このフィールドによって、複数のデバッガをサポートすることができます。詳しくは6.1.2節の「デバッグタイプ」参照。
16 4 SizeOfData デバッグ データのサイズ (デバッグ ディレクトリ自体のサイズは含みません)。
20 4 AddressOfRawData デバッグ データがロードされたときのイメージベース相対アドレス。
24 4 PointerToRawData デバッグ データへのファイル ポインタ。


戻る