在c ++中读取PDB头文件

我试图读取一个PDB文件的头文件,以知道它是否符合我的EXE文件。
有没有一种很好的方式来读取PDB文件的签名(也许使用dbgHelp)?
我需要获取PDB文件中标题的字段,这些字段指示在哪个版本中创build了PDB。 谢谢 :)

我不相信调试帮助API和调试接口访问SDK提供访问任何信息,可以解决您的问题。 关于使用这两种方法来检测构建信息的唯一方法是检查链接时包含的对象文件的路径。

PDB文件确实包含有关在命令行上传递的选项的信息,用于编译目标文件和链接(libs,dll的,exe的)这可能是你正在寻找的。 不幸的是,我知道没有记录的方式来访问它。 它可能深埋在PDB文件中的其中一个表格中,但是我无法找到任何访问它的参考。

也就是说,如果您提供的信息是绝对必要的,而且您愿意处理一些挫折,请查看Sven Boris Schreiber的PDB Parser 。 它包含了很多有用的信息,虽然它可能不支持更新的PDB版本

您可以使用Pdb Inspector工具来查看您的PDB的GUID和其他基本信息。 该工具使用调试接口访问(DIA)