.NET dll文件中的PDB文件是什么以及它的作用是什么?通常人们在部署中删除这个文件,并且只将dll文件保存在lib文件夹中,但似乎什么也没发生,一切运行良好......
那么,什么是PDB文件呢?
答案 0 :(得分:17)
程序数据库文件与增量链接和项目状态无关! PDB文件用于将EXE映射到SOURCES。它们用于Debug和Release二进制文件。 Here an article解释了可执行映像与其PDB文件之间的绑定链接
答案 1 :(得分:10)
PDB文件存储允许您调试应用程序的信息。
通常不部署文件的原因是通常不需要发送它们。如果要调试应用程序,可以始终从目录,网络共享或符号服务器加载它们。
答案 2 :(得分:1)
请参阅http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/11/pdb-files-what-every-developer-must-know.aspx和https://stackoverflow.com/a/72190/150984
答案 3 :(得分:0)
在.NET中,它主要只保留局部变量的符号信息(以及范围信息IIRC)。
答案 4 :(得分:0)
程序数据库(PDB)文件包含调试和项目状态信息,允许增量链接程序的Debug配置。使用/ ZI或/ Zi编译C / C ++程序或使用/ debug编译Visual Basic / C#/ JScript .NET程序时,将创建PDB文件。 每次创建OBJ文件时,C / C ++编译器都会将调试信息合并到VCx0.PBD中。插入的信息包括类型信息,但不包括诸如函数定义的符号信息。因此,即使每个源文件都包含公共头文件,例如,这些头文件中的typedef只存储一次,而不是存储在每个OBJ文件中。