我在我的一个 .NET 项目中使用第三方库。
我注意到 bin 文件夹中包含大量 pdb 文件 - 每个 dll 一个。pdb 文件的用途是什么?
它们保存调试符号信息。
dll 是二进制的,因此您不能在其中包含代码行。例如,当您在执行二进制文件时遇到异常时,pdb 可以帮助您的调试器向您显示您的代码行。
您可以在部署服务器上删除它们。除了调试目的之外,它们是无用的。
如果您的 .NET 程序引发异常并且它是使用 PDB 文件构建的,则该异常消息的堆栈跟踪将如下所示 -
at Program.Main(String[] args) in C:\dev\program.cs:line 262
如果您没有 PDB 文件,它将如下所示 -
at Program.Main(String[] args)
不同之处在于 PDB 文件为您提供了源代码中发生异常的位置。