开发时我理解为什么要构建PDB文件。 但是当我为生产服务器部署我的网站时,PDB文件仍然存在。 我不明白为什么。
我应该在生产环境中删除它们还是留下它们
答案 0 :(得分:8)
当您的应用程序抛出未处理的异常时,PDB文件允许记录代码的堆栈跟踪。
如果您的网站在web.config中将CustomErrors
设置为OFF
,那么每个人都可以看到您的错误代码。这很糟糕。
如果您的网站在web.config设置为CustomErrors
或ON
时RemoteOnly
,则您的错误代码将不会向公众显示,但您可以找到服务器事件日志中的StackTrace可以帮助您跟踪代码中的错误。这没关系。
如果删除PDB(或停止通过项目构建/发布配置发布),那么您的站点将不会在堆栈跟踪中记录您的代码,但是它会记录其他堆栈信息。无论如何,请始终将web.config中的CustomErrors
设置为ON
或RemoteOnly
。总是这样做。
答案 1 :(得分:1)
您可以安全地删除它们。它们用于调试和代码源。
如果您不希望部署pdb文件,则在项目设置中(右键单击项目并选择 Properties> Build ):
您可以选择用于部署的Configuration:
(例如Release
),然后在Output
部分,按Advanced..
- 按钮打开< em>高级构建设置并将Debug Info:
设置为none
(通常在发布模式下为pdb-only
。
然后,每次在Release模式下部署时,都不会生成pdb文件。
答案 2 :(得分:0)
PDB文件用于调试,但您可以将它们保留在生产服务器上。没有什么不好的事情会发生