9

我在我的一个 .NET 项目中使用第三方库。

我注意到 bin 文件夹中包含大量 pdb 文件 - 每个 dll 一个。pdb 文件的用途是什么?

4

4 回答 4

6

它们保存调试符号信息。

http://en.wikipedia.org/wiki/Program_database

于 2010-08-27T09:17:42.583 回答
2

dll 是二进制的,因此您不能在其中包含代码行。例如,当您在执行二进制文件时遇到异常时,pdb 可以帮助您的调试器向您显示您的代码行。

于 2010-08-27T09:25:01.800 回答
2

您可以在部署服务器上删除它们。除了调试目的之外,它们是无用的。

于 2010-08-27T09:43:47.607 回答
2

如果您的 .NET 程序引发异常并且它是使用 PDB 文件构建的,则该异常消息的堆栈跟踪将如下所示 -

at Program.Main(String[] args) in C:\dev\program.cs:line 262

如果您没有 PDB 文件,它将如下所示 -

at Program.Main(String[] args)

不同之处在于 PDB 文件为您提供了源代码中发生异常的位置。

于 2017-08-23T20:11:47.263 回答