求问.net里Release的pdb文件有什么用 是否可以删除?

求问.net里Release的pdb文件有什么用 是否可以删除?,第1张

在使用 /debug 生成时,会创建一个 PDB 文件。 可以使用 /debug:full 或 /debug:pdbonly 生成应用程序。 使用 /debug:full 生成将产生可调试的代码。 使用 /debug:pdbonly 生成将产生 PDB,但是不会产生通知 JIT 编译器调试信息可用的 DebuggableAttribute。 如果您想为不希望其成为可调试的发布版本生成 PDB,请使用 /debug:pdbonly。 有关更多信息,请参见 /debug (C# 编译器选项)或 /debug (Visual Basic)。

Visual Studio 调试器使用 EXE 或 DLL 文件中的 PDB 路径查找 project.pdb 文件。 如果调试器无法在该位置找到 PDB 文件,或者该路径无效,调试器将先搜索包含 EXE 的路径,然后搜索“选项”对话框中指定的符号路径。 该路径通常是“符号”节点中的“调试”文件夹。 如果调试器无法找到 .PDB 文件,则显示“查找符号”对话框,这将允许您搜索符号或向搜索路径添加其他位置。

Debug里的PDB是full,保存着调试和项目状态信息、有断言、堆栈检查等代码。

Release 里的PDB是pdb-only,基本上:出什么错了+错误在哪行。因为很多人把PDB理解成:调试文件、Program Debug Database、会泄露代码机密,所以想将其删除,那只败旦要在VS的 项目-->生成-->高级-->调试信息-->None便可重要事项调试器只会为二进制文件加载与察李扰该二进制文件生成之时所创建的 PDB 完全相符的 PDB。 就扰肢是说,该 PDB 必须是原 PDB 或其副本。

在.net项目中生成的pdb是程序数据库文件。

PDB文件是Palm OS *** 作系统上数据文件类型。一般我们在使用Palm系统的电子书时都会遇到这种文件,一般用于电子书或手机电子书 pdb是Palm DataBase的缩写,Palm OS所用文件的扩展名为“.pdb”。

可以使用PalmReader打开。如果想把PDB文件转换成TXT文件查看,可以使用WavePDB转。

PDB文件保持着调试和项目状态信息,从而可以对程序的调试配置进行增量链接。粗银握当用 /ZI ;或 /Zi ;编译 C/C++ ;程序时或用 /debug ;编译 Visual Basic/C# ;程序时将创建 PDB ;文件。

扩展资料

调试器加载PDB:

Visual Studio调试器假设PDB文件位于与DLL或EXE相同的文件夹下。每一次程序集编译生成唯一的PDB文件,这意味着,即使没有代码改变,也不能使用在以前的编译中创建的PDB文件。

调试器通过将PDB中的特定GUID与二进制的GUID进行比较,发现PDB是否跟二进制文件相匹配。这个Guid在编译过程中嵌入到二进制和PDB中,并将PDB与二进制文件紧密连接。

如果交付件的大小不是问题,最好将PDB和其他二进制文件一起搏枣部署岩庆,因为它有助于提供更多关于异常的信息。

参考资料来源:百度百科-pdb

一般都是在debug下调试程序, 但有时候,为了加快调试速度,或者debug版本由于库的缺失,编译不过冲晌,需要在release下进行调试。 代码的调试相关的信息存在pdb中,里面包括了代码的名称和行数,还有函数的地址,偏移等,通过pdb,可以讲二进制和源代码联系起来。 所以,当程序崩溃的时候,可以通过生成的dump文件和pdb在开发者的机器上进行调试。 首先要在【生成调试信息】这一栏中选游厅择是 然后调试信息的格式选择【程序数据库】,貌似不是很必要 最后关闭优化,这样release中散磨锋调试,一些数值才不会因为被优化而现实不出来正常的值


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12563918.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存