.pdb 形式のファイルがたくさんあり、ダウンロードしたものもありますが、今までは中身を使用または読み取ることができないため、MS Windows XP から .pdb ファイル形式を読み取って表示する方法を探しています。
開け方わかる方いますか?
デバッガーが使用する「プログラムデータベース」のようにPDBを意味する場合:
PDBファイルには、デバッグを支援するために使用されるEXEやDLLなどのファイルに関するデータが含まれています。ファイルからデータを抽出できるパブリックインターフェイスがあります。ここの例を参照してください:
Palm Pilot DatabaseのようにPDBを意味する場合、私はそれについて何も知りませんが、ファイル形式はここで入手できます。
Microsoft は PDB 形式のソース コードをリリースしたので、LLVM チームなどの他のコンパイラ開発者は PDB 形式をより簡単に実装できます。
https://github.com/Microsoft/microsoft-pdb/
ファイルの出力を実際にダンプするには、次のようにします。
https://github.com/Microsoft/microsoft-pdb/blob/master/cvdump/cvdump.exe
cvdump Whatever.pdb
最近では、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の場合):
git clone https://github.com/llvm/llvm-project.git
cd llvm-project
mkdir build && cd build
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
Tools/llvm-pdbutil
プロジェクトをビルドします。