pdb(Program Debug DataBase)的用法是什么?

时间:2009-09-19 17:39:02

标签: c#

在编译库或应用程序(例如Visual Studio IDE中的控制台应用程序)时,在应用程序的Debug文件夹中,除了.dll或.exe之外,还会有一个扩展名为“.pdb”的文件”。

此.pdb文件的确切用法是什么?

6 个答案:

答案 0 :(得分:32)

PDB包含调试符号,因此您可以将已编译的二进制文件发送给您的客户,而不会将源代码算法和其他私有详细信息暴露给他们。

如果您的应用在客户网站上出错,您可以从他们那里获得崩溃转储(使用DrWatson),将其带回您的开发工作站并调试崩溃,调试器将使用符号文件与崩溃一起向您展示源代码,数据结构等。在许多情况下,您所要做的就是打开崩溃转储,调试器将直接带您到异常的源代码,并向您展示变量和线程。

这是他们的主要用途,当客户报告崩溃时,它们非常宝贵。关于使用它们你需要知道的事情 - 它们只对创建它们的构建有效,因此如果你重新编译,你的符号文件就会毫无价值。

John Robbins an excellent article为什么要使用它们。

答案 1 :(得分:9)

答案 2 :(得分:2)

当您想要进行远程调试时,PDB也很有用 将PDB与已安装的应用程序保持在一起,可以将Visual Studio远程连接到客户端的生产环境,并在必要时调试应用程序。

答案 3 :(得分:1)

PDB允许调试应用程序,例如,当它们崩溃或者你有一个小型转储器时。它们还允许您在将异常输出到日志记录时查找有关错误的更多详细信息(它们将使用行号提供更完整的堆栈跟踪,而不是仅显示发生错误的函数的名称)。

答案 4 :(得分:1)

据我所知,它们包含调试信息,例如行号,变量名等。

答案 5 :(得分:1)

嗯,你给自己一个很大的线索。

这是Visual Studio需要能够调试应用程序的文件。

MSDN page有更多信息。

  

程序数据库(PDB)文件保存调试和项目状态信息,允许增加程序的Debug配置的链接。