PDB 文件——Program Debug Database

来源:互联网 发布:胡军和刘嘉玲 知乎 编辑:程序博客网 时间:2024/06/12 21:09

Debug信息格式---Program Database

原文地址:http://blog.vckbase.com/zyq654321/archive/2008/05/27/1289.html

       Program Database是目前最新的Debug信息格式。目前为此已经出现了两个版本,一个是用于Visual studio6.0PDB20,另一个是用于Visual studio.Net(2002 or 2003)PDB70。然后后者并不会兼容前者,所以visual studio6.0将不能使用最新的PDB70

       下面指出PDB中通常会保存一些什么类型的信息:全局函数和变量;成员函数、成员变量及局部变量;符号对应的源文件中的行号;变量类型信息;FPO信息;编辑后继续运行信息。一般来说对于每一种符号都会有相应的保存属性,符号类型、地址、大小和符号名。

Program Database信息是与文件执行体分离的,通常它会保存在.pdb后缀的文件中。PDB文件的建立是与编译器和链接器紧密相连的。通过设定编译器选项(/ZI, /Z7, /Zi, /Zd,编译器可以在编译源文件时对应每一个源文件产生一个相应的调试符号文件;然后设定相应的链接器选项(/DEBUGTYPE /DEBUG /PDB等)可以将单个的调试符号文件合并成PDB文件。

如果你要利用PDB为你的工作服务,你可以使用最新的Debugging Tools for Window来对PDB文件(当然也可以是EXEDLL文件)进行对符号信息的操作。

下载地址:Debugging Tools for Windows

如果你要使用它的SDK,就应该确保在安装时使用的是Custom安装。这样在你安装后的你会得到最新的dbghelp.hdbghelp.lib等文件。我已经用这些函数写一些例子,有时间的话整理出来供大家参考。^_^

Enjoy!

原创粉丝点击