なぜ PDB を TXT に変換するのですか?
Palm .pdb 電子書籍は、その形式をサポートしなくなったデバイスからの移行やアーカイブのために、あらゆるエディタで閲覧可能な .TXT へエクスポートされることがよくあります。一部のユーザーは、他のツールやスクリプトに読み込ませるために生テキストを抽出します。開発者は、ビルド中にキャプチャされた関数名、型定義、ソースファイルのパスなどを確認するために、Visual C++ の .pdb シンボルデータベースをダンプします。
PDB から TXT への変換方法
Calibre FREE
Calibre で .pdb を開き、右クリックして «本を変換» を選択し、出力フォーマットとして TXT を選択します。
コマンドライン - llvm-pdbutil CLI
Visual C++ デバッグシンボルファイルの場合は、llvm-pdbutil dump --all myfile.pdb > myfile.txt を実行して完全なシンボルマップをダンプします。
DIA SDK / dumpbin FREE
Visual Studio に含まれています。«Developer Command Prompt» を開き、dumpbin /symbols myfile.obj を実行してシンボル情報を一覧表示します。
これらの形式について
PDBファイルはプログラムデータベース(Program Database)です。これは Visual Studio コンパイラがコンパイル済みの EXE または DLL と共に作成するデバッグシンボルファイルです。直接開くものではなく、デバッグ時に Visual Studio や WinDbg が自動的に読み込みます。主な懸念事項はマルウェアではなく機密性です。PDB…
.PDB の詳細を開く →TXT ファイルは、書式設定のないプレーンテキストであり、あらゆるコンピュータにおいて最もシンプルなドキュメント形式です。ダブルクリックすると、Windows では メモ帳、macOS では TextEdit、Linux では gedit…
.TXT の詳細を開く →品質と注意点
.pdb拡張子は、Palm 電子書籍データベースと Visual C++ デバッグシンボルファイルという、互いに関連のない2つの形式で使用されています。どちらのタイプかによって適切なツールが異なります。- Palm の
.pdbを.txtに変換すると、すべての書式が削除されます。章の見出し、画像、スタイルは失われ、生のテキストのみが残ります。 - Visual C++ の
.pdbダンプはソースコードではありません。これはバイナリアドレスを関数名や行番号に対応させるものであり、元の.cppファイルのテキストが含まれているわけではありません。
よくある質問
持っている `.pdb` がどちらのタイプか知るにはどうすればよいですか?
Microsoft C/C++ MSF 7.00 で始まり、Palm 電子書籍はプレーンテキストのデータベース名で始まります。コードのコンパイルによって作成されたファイルであれば、それはデバッグシンボルファイルです。Visual C++ の `.pdb` からソースコードを復元できますか?
.cpp ファイルは PDB に埋め込まれていません。出力された `.txt` が非常に巨大なのはなぜですか?
--all の代わりに llvm-pdbutil dump --symbols や --lines を使用してください。Calibre で Visual C++ の `.pdb` を変換できますか?
.pdb ファイルのみを処理します。Visual C++ デバッグシンボル .pdb を読み込ませると、失敗するか文字化けしたデータが生成されます。