プログラム データベース ファイル (C#、F#、および Visual Basic)
更新 : 2011 年 3 月
このトピックの内容は、次の製品に該当します。
エディション |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro、Premium、Ultimate |
プログラム データベース (PDB) ファイルは、デバッグとプロジェクト状態情報を保持します。この情報により、プログラムのデバッグ構成のインクリメンタル リンクが可能になります。 PDB ファイルは、/debug でビルドすると作成されます。 アプリケーションは、/debug:full または /debug:pdbonly でビルドできます。 /debug:full でビルドすると、デバッグできるコードが生成されます。 /debug:pdbonly でビルドすると PDB は生成されますが、JIT コンパイラにデバッグ情報が使用できることを示す DebuggableAttribute は生成されません。 デバッグが必要ないリリース ビルドで PDB を生成する場合は /debug:pdbonly を使用します。 詳細については、「/debug (C# コンパイラ オプション)」または「/debug (Visual Basic)」を参照してください。
Visual Studio デバッガーでは、EXE ファイルまたは DLL ファイルの PDB へのパスを使用して、project.pdb ファイルを検索します。 その場所に PDB ファイルが見つからない場合、またはパスが無効な場合は、EXE ファイルが格納されているパスを検索した後に、[オプション] ダイアログ ボックスで指定されたシンボル パスを検索します。 通常、このパスは シンボル ノードの デバッグ フォルダーです。 デバッガーで .PDB ファイルが見つからない場合、[シンボル検索] ダイアログ ボックスが表示されます。このダイアログ ボックスで、シンボルを検索したり、検索パスに新しい場所を追加したりできます。
重要
デバッガーは、バイナリがビルドされたときに作成された PDB と正確に一致するバイナリの PDB のみを読み込みます。 つまり、PDB は、オリジナルまたはコピーである必要があります。 コンパイラはバイナリを作成するときにいくつかの要素を考慮するため、コード自体に変更が加えられていない場合でもバイナリの実際のレイアウトが変更されることがあります。 詳細については、MSDN ブログの投稿「Why does Visual Studio require debugger symbol files to *exactly* match the binary files that they were built with? (Visual Studio においてデバッガー シンボル ファイルがビルド時のバイナリ ファイルと "正確に" 一致することが求められる理由)」を参照してください。
参照
その他の技術情報
履歴の変更
日付 |
履歴 |
理由 |
---|---|---|
2011 年 3 月 |
正確に一致する PDB の必要性に関する情報とリンクを追加しました。 |
情報の拡充 |