シンボル ファイル

通常、デバッグ情報は実行可能ファイルとは別のシンボル ファイルに格納されます。 このデバッグ情報の実装は長年にわたって変化しており、次のドキュメントはこれらのさまざまな実装に関するガイダンスを提供します。

PDB ファイル

最新バージョンの Microsoft コンパイラはすべて、コンパイルされた実行可能ファイルに関するデバッグ情報を別のプログラム データベース (.pdb) ファイルに格納します。 このファイルは一般的に PDB と呼ばれます。 データは実行可能ファイルとは別のファイルに保存されるため、実行可能ファイルのサイズが制限され、ディスク ストレージ領域が節約され、データのロードにかかる時間が短縮されます。 この手法により、実行可能ファイルをこの重要な情報を開示することなく配布できるため、プログラムのリバース エンジニアリングが容易になります。

PDB を作成するには、ビルド ツールの指示に従ってデバッグ情報を含む実行可能ファイルをビルドします。

DbgHelp API は PDB を使用して次の情報を取得できます。

  • パブリックとエクスポート
  • グローバル シンボル
  • ローカル シンボル
  • 型データ
  • ソース ファイル
  • 行番号

DBG ファイルと埋め込みデバッグ情報

以前のバージョンの Microsoft ツールセットでは、デバッグ情報を実行可能ファイルに埋め込んでいましたが、通常は .dbg 拡張子の付いた別のファイルに取り除かれていました。 これは、一般に DBG として知られています。 DBG ファイルは、実行可能ファイルと同じ PE ファイル形式を使用します。

DBG と埋め込みデバッグ情報に対する DbgHelp API のサポートは制限されており、次のものが含まれます。

  • パブリックとエクスポート
  • グローバル シンボル