当前位置:  开发笔记 > 后端 > 正文

读取.pdb文件

如何解决《读取.pdb文件》经验,为你挑选了3个好方法。

我有很多.pdb格式的文件,其中一些是下载的,但是直到现在我都无法使用或读取里面的内容,所以我正在寻找如何从MS Windows XP中读取和查看.pdb文件格式.

你们谁可能知道如何打开它?



1> Eilon..:

如果你的意思是调试器使用的"程序数据库"中的PDB:

PDB文件包含有关文件的数据,例如用于帮助调试的EXE或DLL.有一些公共接口允许您从文件中提取数据.看这里的例子:

http://blogs.msdn.com/jmstall/archive/2005/08/25/pdb2xml.aspx

http://www.codeproject.com/KB/bugs/PdbParser.aspx

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

http://www.hotpaw.com/rhn/palm/pdb.txt



2> lama12345..:

Microsoft发布了其PDB格式的源代码,因此LLVM团队等其他编译器开发人员可以更轻松地实现PDB格式.

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

要实际转储文件的输出,只需使用:

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

cvdump Whatever.pdb


谢谢.!有用的应用.

3> valiano..:

如今,我强烈建议LLVM的PDB解析器llvm-pdbutil

它是一个出色的功能丰富的PDB转储程序,非常适合补充Microsoft的cvdump。
有关详细信息和文档,请参阅:

Windows上的LLVM现在支持PDB调试信息(LLVM项目博客)

llvm-pdbutil-PDB文件取证和诊断(LLVM主页)

一些有用的入门命令:

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):

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项目。

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有