加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 04:03:53 所属栏目:asp.Net 来源:网络整理
导读:我正在开发一个ASP.NET网站,我想部署pdb文件,因为当抛出意外异常时,我想用行号记录它们,以便我可以追踪问题. 但我担心安全性和性能. 如果我使用堆栈跟踪信息登录到Web服务器上的非公共文件而不向用户显示,那么在Web服务器上安装pdb文件是否存在安全风险? 就
我正在开发一个ASP.NET网站,我想部署pdb文件,因为当抛出意外异常时,我想用行号记录它们,以便我可以追踪问题.

但我担心安全性和性能.

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

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

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

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

解决方法

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读