asp.net – 有没有理由不将pdb文件部署到生产Web服务器?

前端之家收集整理的这篇文章主要介绍了asp.net – 有没有理由不将pdb文件部署到生产Web服务器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个ASP.NET网站,我想部署pdb文件,因为当抛出意外异常时,我想用行号记录它们,以便我可以追踪问题.

但我担心安全性和性能.

如果我使用堆栈跟踪信息登录到Web服务器上的非公共文件而不向用户显示,那么在Web服务器上安装pdb文件是否存在安全风险?

性能而言,我知道在存在pdb文件时处理异常会更加昂贵,但目标不是有任何异常,并且在极少数情况下发生,以获得良好的跟踪数据,以便我们可以修复问题.

但有一件事我不清楚是这样的:如果抛出异常并被捕获,我是否仍然支付pdb罚款?我特别想到你在Response.Redirect时抛出的ThreadAbortException.这是一个遗留应用程序,其中很多都是正常程序流程的一部分,因此我只是捕获并忽略这些异常,但是pdb文件的存在是否会使这个代价更高?或者.NET是否会忽略pdb文件,除非您要求堆栈跟踪(对于此特定异常,我不会这样做)?

除此之外,只要除了我真正想要详细了解的那些之外没有例外,将pdb文件部署到Web服务器是否有任何性能损失?

解决方法

至于安全性,我看不到部署PDB的任何实际问题. PDB只包含

>源线和IL偏移之间的映射
>当地人的名字
>源文件名称
>与给定函数相关的using指令列表

即使PDB信息被泄露,我也不会考虑任何敏感信息

至于性能,仅仅存在PDB不会改变应用程序的执行逻辑.它仅与调试目的相关,并且正常执行不与其交互

猜你在找的asp.Net相关文章