我正在开发一个ASP.NET网站,我想部署pdb文件,因为当抛出意外异常时,我想用行号记录它们,以便我可以追踪问题.
但我担心安全性和性能.
如果我使用堆栈跟踪信息登录到Web服务器上的非公共文件而不向用户显示,那么在Web服务器上安装pdb文件是否存在安全风险?
就性能而言,我知道在存在pdb文件时处理异常会更加昂贵,但目标不是有任何异常,并且在极少数情况下发生,以获得良好的跟踪数据,以便我们可以修复问题.
但有一件事我不清楚是这样的:如果抛出异常并被捕获,我是否仍然支付pdb罚款?我特别想到你在Response.Redirect时抛出的ThreadAbortException.这是一个遗留应用程序,其中很多都是正常程序流程的一部分,因此我只是捕获并忽略这些异常,但是pdb文件的存在是否会使这个代价更高?或者.NET是否会忽略pdb文件,除非您要求堆栈跟踪(对于此特定异常,我不会这样做)?