将DBG转换为PDB?

时间:2012-02-12 16:20:27

标签: winapi pdb-files

我有一个Win32编译器,多年来,它已经能够创建DBG debug information file

这使得调试器和 Process Explorer Process Monitor 等工具可以访问符号信息:

enter image description here

我最近了解到Visual Studio的调试器不再接受DBG文件,只接受未记录的Program Database (PDB)文件:

enter image description here

由于Microsoft保留了PDB格式secret,我假设他们有一个工具可以将现有的调试信息转换为PDB(因此我不了解其文件格式的秘密)。

奖金阅读

3 个答案:

答案 0 :(得分:0)

未记录PDB,但您可以使用适当的接口See Sample

以编程方式收集有关PDB文件内容的非常详细信息

答案 1 :(得分:0)

Microsoft in a GitHub repository现在通过代码记录了PDB格式。 LLVM还有一个great overview,部分基于Microsoft的文档。

这不是一个完整的答案,因为您仍然需要编写工具来进行转换...

答案 2 :(得分:0)

LLVM开发人员documented the PDB file format是为了使clang和lld能够读取和生成PDB文件。 Microsoft's PDB Github repository的成立部分是为了支持这项工作。

PDB主要是Microsoft记录的CodeView调试信息的容器。

LLVM提供了用于处理PDB和COFF调试信息的库,以及用于检查和从YAML生成它们的命令行工具。