シンボル ファイル
通常、デバッグ情報は実行可能ファイルとは別のシンボル ファイルに格納されます。 このデバッグ情報の実装は長年にわたって変更されており、次のドキュメントでは、これらのさまざまな実装に関するガイダンスを提供します。
PDB ファイル
最新バージョンの Microsoft コンパイラはすべて、コンパイルされた実行可能ファイルに関するデバッグ情報を別の プログラム データベース (.pdb) ファイルに格納します。 このファイルは、一般的に PDBと呼ばれます。 データは実行可能ファイルとは別のファイルに格納されるため、実行可能ファイルのサイズを制限し、ディスクストレージ領域を節約し、データの読み込みに要する時間を短縮できます。 この手法により、実行可能ファイルをこの重要な情報を開示することなく配布できるため、プログラムのリバース エンジニアリングが容易になります。
PDB を作成するには、ビルド ツールの指示に従ってデバッグ情報を含む実行可能ファイルをビルドします。
DbgHelp API は PDB を使用して次の情報を取得できます。
- publics and exports
- グローバル シンボル
- ローカル シンボル
- データ型
- ソース ファイル
- 行番号
DBG ファイルと埋め込みデバッグ情報
以前のバージョンの Microsoft ツールセットは、デバッグ情報を実行可能ファイルに埋め込むために使用していましたが、通常は .dbg 拡張子を持つ別のファイルに取り除かれます。 これは一般に、DBG ファイルと呼ばれます。 DBG ファイルは、実行可能ファイルと同じ PE ファイル形式を使用します。
DBG と埋め込みデバッグ情報に対する DbgHelp API のサポートは制限されており、次のものが含まれます。
- publics and exports
- グローバル シンボル