我有一个 VB.net 应用程序。目前,该应用程序的发布版本是在没有 PDB 文件的情况下生成的。这使我的错误日志缺乏有用的详细信息,例如行号。 我正在考虑将 PDB 文件包含在未来的版本中,但我想知道这样做的优点和缺点(性能方面、大小方面、代码安全方面)
最佳答案
我知道我会因此而挨打,但是...
我同意 Dave Markle 的观点,但我想补充一点,正如您所说,发布 PDB 文件的一个优点是非常适合调试。
也就是说,我不卖软件,我写的代码都是供我们公司内部使用的。在这种情况下,我认为将调试代码与 PDB 文件一起投入生产不会有问题。我从未见过性能受到影响,而且老实说,如果我们的用户遇到未处理的异常,他们很少向我们提供正确的信息。当然,我们尝试正确处理异常,但如您所知,错误还是会发生。我们的策略是向所有项目添加全局异常处理程序,并将这些事件记录到数据库中。这些错误包含行号,因为我们确实包含了调试文件,因此,我们能够快速识别错误代码并对其使用react,修复它,并获得更多无错误的应用程序。对于我(以及我们的用户)来说,这是一个巨大的好处,我不想没有它。
因此,如果您遇到类似情况,我建议您忘记官方立场(在本例中),继续发布 pdb 文件,但有一个重要警告。
请务必确保使用 PDB 文件部署的任何 Web 应用程序都完全确保所有异常都得到正确处理,并且不会无意中在标准 Asp.NET 错误页面中暴露代码行。
关于.net - 在发布应用程序中包含 PDB 文件的优点和缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2825813/