读取 .pdb 文件

发布于 2024-08-17 14:11:30 字数 113 浏览 11 评论 0原文

我有很多 .pdb 格式的文件,其中一些已下载,但到目前为止我无法使用或读取其中的内容,因此我正在寻找如何从 MS Windows XP 读取和查看 .pdb 文件格式。

请问有人知道怎么打开吗?

I have a lot of files in .pdb format, some of them downloaded, but until now I can't use or read what's inside, so I'm looking for how to read and view the .pdb file format from MS Windows XP.

Any of you that may know how to open it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

何以笙箫默 2024-08-24 14:11:30

如果您指的是调试器使用的“程序数据库”中的 PDB:

PDB 文件包含有关用于帮助调试的文件(例如 EXE 或 DLL)的数据。有一些公共接口允许您从文件中提取数据。请参阅此处的示例:

如果您的意思是 Palm Pilot 数据库中的 PDB,那么我对此一无所知,但文件格式可在此处获得:

If you mean PDB as in a "program database" that the debugger uses:

PDB files contain data about a file such as an EXE or DLL that is used to aid in debugging. There are public interfaces that allow you to extract data from the file. See examples here:

If you mean PDB as in a Palm Pilot Database, then I know nothing about it, but the file format is available here:

忘羡 2024-08-24 14:11:30

微软发布了其 PDB 格式的源代码,因此其他编译器开发人员(例如 LLVM 团队)可以更轻松地实现 PDB 格式。

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

实际转储输出一个文件,只需使用:

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

cvdump Whatever.pdb

Microsoft released the source code of their PDB formats, so other compiler developers like the LLVM team can implement the PDB format easier.

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

To actually dump the output of a file, just use this:

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

cvdump Whatever.pdb
笛声青案梦长安 2024-08-24 14:11:30

便携式 PDB

经典(不可移植)PDB

Portable PDB

Classic (non-portable) PDB

魂ガ小子 2024-08-24 14:11:30

如今,我强烈推荐 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.0,llvm-pdbutil.exe 未随 LLVM 二进制文件一起分发,因此必须从源代码构建。

但是,如果您同意非官方的 Windows 64 位二进制文​​件,可以在此处使用我自制的 llvm-pdbutil 版本(注意需要 Visual C++ 2015 Redistributable)

: com/shaharv/llvm-pdbutil-builds/releases" rel="noreferrer">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 构建 && 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 项目。

Nowadays, I highly recommend LLVM's PDB parser, llvm-pdbutil.

It is an excellent and feature rich PDB dumper and great to complement Microsoft's cvdump.
For details and documentation, see:

Some useful commands for getting started:

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

Getting llvm-pdbutil:

As per LLVM 7.0.0, the latest official release, llvm-pdbutil.exe is not distributed with the LLVM binaries, so it has to be built from source.

However, if you're OK with a non official, Windows 64-bit binary, my home-brewed llvm-pdbutil builds are available here (note Visual C++ 2015 Redistributable is required):

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

Building llvm-pdbutil:

For building llvm-pdbutil from source on Windows, you'll have to get and setup LLVM build.
Follow the instructions on https://llvm.org/docs/GettingStarted.html.

There are some needed additions for PDB support, though. To summarize (for VS 2017):

  • Clone the LLVM repo: git clone https://github.com/llvm/llvm-project.git
  • cd llvm-project
  • mkdir build && cd build
  • If not running from Visual Studio console: 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
  • In Visual Studio, build the Tools/llvm-pdbutil project.
灼痛 2024-08-24 14:11:30

您可以使用 Windows SDK 中的 DBH 工具

&'C:\Program Files\Debugging Tools for Windows (x64)\dbh.exe' -v MySymbol.pdb dump

You can use the DBH tool from Windows SDK.

&'C:\Program Files\Debugging Tools for Windows (x64)\dbh.exe' -v MySymbol.pdb dump
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文