调试符号性能问题(FFDA)

时间:2010-12-27 23:13:58

标签: .net debugging

我对.NET环境中的调试符号有疑问,尤其是ASP.NET。我知道在Debug模式下进行编译会阻止代码进行优化,从而失去潜在的性能提升。

但是,如果我想执行FFDA,调试符号可以证明是有用的。当我从已部署的应用程序中获取异常时,我仍然可以在其记录后看到其堆栈跟踪中的行号。

所以,我的问题是:

  1. 调试符号在正常生命周期中是否会持续降低应用程序的速度?或者它与运行没有符号的非优化代码相同?
  2. 框架何时使用它们(即何时发生减速)?我肯定知道什么时候抛出异常,但还有其他情况吗?
  3. 您是否建议我像微软一样做:在发布模式下编译应用程序,但是使用符号,这样我就可以在堆栈跟踪中获得近似行数来获得优化?
  4. 解释问题2:我主要关心的是ASP.NET页面。如果页面循环运行良好,我不希望任何性能下降,所以我的服务器可以有更好的吞吐量,但是当发生不好的事情时(即未处理的异常)我想支付性能降低的成本以获得更好的堆栈跟踪,尤其是我必须调试Mono的所有时间。

    我的目标是轻松调查已部署到其真实场景中的应用程序中的错误,并记录需要注意的任何问题。

    感谢您的时间。

0 个答案:

没有答案