读取c++中的PDB头文件
Reading the PDB header in c++
我正试图读取PDB文件的头,以了解它是否与我的EXE文件匹配。
是否有一种很好的方法来读取PDB文件的签名(可能使用dbgHelp)?
我需要获得在PDB文件头的字段,表明在其中构建的PDB被创建。谢谢:)
我不相信调试帮助API和调试接口访问SDK提供访问任何信息,将解决您的问题。使用这两种方法检测构建信息的唯一方法是检查链接期间包含的目标文件的路径。
PDB文件确实包含关于在编译对象文件和链接(lib, dll, exe)的命令行上传递的选项的信息,这可能是你正在寻找的。不幸的是,我知道没有文档访问它的方法。它可能深埋在PDB文件中可用的一个表中,但我无法找到访问它的任何参考。
也就是说,如果获得您所要求的信息是绝对必要的,并且您愿意处理一些挫折,请查看Sven Boris Schreiber编写的PDB Parser。它包含了很多有用的信息,尽管它可能不支持较新的PDB版本
您可以使用Pdb Inspector工具查看Pdb的GUID和其他基本详细信息。此工具使用调试接口访问(DIA)
相关文章:
- 加载"D:UsersPublicDocumentsopencvbuildx64vc14binopencv_world340d.dll",找不到或打开PDB文件
- OpenCV 3 Visual Studio 2017 调试,调用堆栈没有.pdb文件
- 删除编译器优化并在发布中启用 pdb 文件
- 在不中断引用的情况下移动静态库的 *.pdb 文件 - LNK4099
- 从远程服务器请求PDB文件
- nvoglv32.dll 找不到或打开 PDB 文件
- 如何将信息插入 pdb 文件
- 如何让CMAKE安装目标PDB文件
- C Microsoft Visual Studio 2015调试问题(找不到或打开PDB文件.)
- Windows 10中的Visual Studio 2012:找不到或打开PDB文件
- 对应于二进制文件的 PDB
- 找不到或无法打开Visual studio 2012的PDB文件
- 找不到"mpiexec"的调试信息或不匹配。找不到或打开 PDB 文件
- 在没有PDB文件的情况下,是否可以在Windows上获得堆栈跟踪?如果是,如何
- 如何在Visual Studio中生成一个具有随机输出名称的PDB文件
- 使用 dll、pdb 文件和源在 VS C++ 中调试
- windbg 和 VS 找不到我的 pdb 文件
- 如何在使用 MINGW 构建库时生成 PDB 文件
- "The breakpoint will not currently be hit" - 我无法添加.pdb文件
- Oracle是否为OCCI/OCI提供公共符号文件(PDB)