34

.pdb 形式のファイルがたくさんあり、ダウンロードしたものもありますが、今までは中身を使用または読み取ることができないため、MS Windows XP から .pdb ファイル形式を読み取って表示する方法を探しています。

開け方わかる方いますか?

4

5 に答える 5

45

デバッガーが使用する「プログラムデータベース」のようにPDBを意味する場合:

PDBファイルには、デバッグを支援するために使用されるEXEやDLLなどのファイルに関するデータが含まれています。ファイルからデータを抽出できるパブリックインターフェイスがあります。ここの例を参照してください:

Palm Pilot DatabaseのようにPDBを意味する場合、私はそれについて何も知りませんが、ファイル形式はここで入手できます。

于 2010-01-11T06:00:03.673 に答える
32

Microsoft は PDB 形式のソース コードをリリースしたので、LLVM チームなどの他のコンパイラ開発者は PDB 形式をより簡単に実装できます。

https://github.com/Microsoft/microsoft-pdb/

ファイルの出力を実際にダンプするには、次のようにします。

https://github.com/Microsoft/microsoft-pdb/blob/master/cvdump/cvdump.exe

cvdump Whatever.pdb
于 2016-05-29T15:07:53.090 に答える
11

最近では、LLVM の PDB パーサーであるllvm-pdbutilを強くお勧めします。

これは優れた機能豊富な PDB ダンパーであり、Microsoft の cvdump を補完するのに最適です。
詳細とドキュメントについては、次を参照してください。

開始するためのいくつかの便利なコマンド:

  • llvm-pdbutil dump -all your.pdb
  • llvm-pdbutil bytes -syms your.pdb
  • llvm-pdbutil -help

llvm-pdbutil の取得:

最新の公式リリースである LLVM 7.0.0llvm-pdbutil.exeは LLVM バイナリと共に配布されていないため、ソースからビルドする必要があります。

ただし、非公式の Windows 64 ビット バイナリで問題ない場合は、自作の llvm-pdbutil ビルドをここから入手できます (Visual C++ 2015 Redistributable が必要であることに注意してください)。

https://github.com/shaharv/llvm-pdbutil-builds/releases

llvm-pdbutil のビルド:

Windows でソースから llvm-pdbutil をビルドするには、LLVM ビルドを取得してセットアップする必要があります。https://llvm.org/docs/GettingStarted.htmlの指示に従います。

ただし、PDB サポートに必要な追加機能がいくつかあります。要約すると(VS 2017の場合):

  • LLVM リポジトリをクローンします。git clone https://github.com/llvm/llvm-project.git
  • cd llvm-project
  • mkdir build && cd build
  • Visual Studio コンソールから実行していない場合: set VSINSTALLDIR=c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\.
  • cmake -G "Visual Studio 15 2017" -A x64 -Thost=x64 -DLLVM_ENABLE_DIA_SDK=ON ../llvm
  • Visual Studio で、Tools/llvm-pdbutilプロジェクトをビルドします。
于 2019-02-05T19:18:07.070 に答える