aspose.info
JA

PDB ファイル形式 - プログラム データベース ファイル

更新日

.PDB ファイルとは?

拡張子が .pdb のファイルは、コンパイルされた実行可能ファイル (EXE/DLL) のデバッグ情報を含むプログラム データベース ファイルです。 PDB ファイルは、アプリケーション プログラムがデバッグ モードでコンパイルされると、Microsoft コンパイラによって生成されます。 PDB ファイルの存在は、モジュールのすべてのシンボルに関する重要な情報が含まれているため、実行可能ファイルのリバース エンジニアリングに役立ちます。このため、これらのファイルは最終的な実行可能ファイルとは別に保持されます。 Microsoft の DgbHelp API は、PDB ファイルを開いて、パブリックとエクスポート、グローバル シンボル、ローカル シンボル、タイプ データ、ソース ファイル、および行番号。

PDB ファイル形式

PDB は Microsoft 独自のファイル形式であり、まだ公式に文書化されていません。ただし、開始ドキュメントは ここ で入手でき、参照できます。

PDB ストリーム

PDB ファイルは複数のストリームで構成され、各ストリームは仮想の個別ファイルとして機能し、情報が含まれています。 PDB ファイル ライターはこれらのファイルに書き込むことができ、ファイルは明示的なコミットが発行された後にのみファイナライズされます。コンパイラは PDB ファイルへの書き込みを続行できますが、すべてのユーザー コードが正常にコンパイルされた場合にのみコミットします。 PDB ファイルは、次のストリームで構成されます。

ストリーム番号目次簡単な説明
1Pdb (ヘッダー)バージョン情報、およびこの PDB を EXE に接続するための情報
2Tpi (タイプ マネージャー)実行可能ファイルで使用されるすべてのタイプ。
3Dbi (デバッグ情報)セクションへの貢献と「Mods」のリストを保持します
4名前マップハッシュされた文字列テーブルを保持
4-(n+4)n Mod’s (モジュール情報)各 Mod ストリームは、1 つのコンパイルのシンボルと行番号を保持します
n+4グローバル シンボル ハッシュグローバル シンボルを名前で検索できるインデックス
n+5パブリック シンボル ハッシュアドレスによるパブリック シンボルの検索を可能にするインデックス
n+6シンボルレコードグローバルおよびパブリック シンボルの実際のシンボル レコード
n+7タイプハッシュTPI ストリームで使用されるハッシュ。

PDB ファイルの各ストリームは、必ずしも連続した番号が付けられていない複数のページで構成されます。

PDBヘッダー

PDB ファイルには、特定の形式を識別して検証するための署名で構成されるヘッダーが含まれています。署名の長さは、PDB 形式によって異なります。ヘッダーは 1 ページよりも長くなる場合があります。

PDBメタデータ

PDB メタデータは、すべてのコンポーネント ストリームを認識し、各ストリームの長さとページのシーケンスを提供します。注文は連続してストリームに与えられます。 0 から始まります。メタデータの一部を含む順序付けられていないルート ストリームもあります。

参考文献

関連項目