ASP.NET生产服务器PDB文件

时间:2012-11-01 11:40:13

标签: c# asp.net

开发时我理解为什么要构建PDB文件。 但是当我为生产服务器部署我的网站时,PDB文件仍然存在。 我不明白为什么。

我应该在生产环境中删除它们还是留下它们

3 个答案:

答案 0 :(得分:8)

当您的应用程序抛出未处理的异常时,PDB文件允许记录代码的堆栈跟踪。

如果您的网站在web.config中将CustomErrors设置为OFF,那么每个人都可以看到您的错误代码。这很糟糕。

如果您的网站在web.config设置为CustomErrorsONRemoteOnly,则您的错误代码将不会向公众显示,但您可以找到服务器事件日志中的StackTrace可以帮助您跟踪代码中的错误。这没关系。

如果删除PDB(或停止通过项目构建/发布配置发布),那么您的站点将不会在堆栈跟踪中记录您的代码,但是它会记录其他堆栈信息。无论如何,请始终将web.config中的CustomErrors设置为ONRemoteOnly。总是这样做。

答案 1 :(得分:1)

您可以安全地删除它们。它们用于调试和代码源。

如果您不希望部署pdb文件,则在项目设置中(右键单击项目并选择 Properties> Build ):

您可以选择用于部署的Configuration:(例如Release),然后在Output部分,按Advanced.. - 按钮打开< em>高级构建设置并将Debug Info:设置为none(通常在发布模式下为pdb-only

然后,每次在Release模式下部署时,都不会生成pdb文件。

答案 2 :(得分:0)

PDB文件用于调试,但您可以将它们保留在生产服务器上。没有什么不好的事情会发生