0

我们在我们的应用程序中得到了很多未处理的空引用异常,如下所示。

System.Web.HttpUnhandledException:引发了“System.Web.HttpUnhandledException”类型的异常。---> System.NullReferenceException:对象引用未设置为对象的实例。在

为了在错误日志中获得准确的行号,我们在生产环境中部署了 PDB 文件,并在发布模式下启用了 PDB only 选项。

现在我们得到了行号错误描述,但是行号总是指向 finally 块,这是不可能发生错误的。

在项目属性中,当在发布模式下进行构建时,将检查优化代码,我们发现由于此选项,行号不正确。

现在我们计划在未选中此选项的情况下在生产中进行部署,以便我们获得正确的行号。如果我们在未选中此选项的情况下部署到生产环境,想要检查这是否会对应用程序的性能产生任何影响。

如果您尝试过此操作或遇到过此类情况,请告诉我。

4

1 回答 1

0

是的,它当然可能会对性能产生影响,这就是该选项的用途。

基本上,您有两种选择:

  1. 检查优化。这样,您的代码将更容易调试,但效率可能会降低。
  2. 不要检查优化。这样,您的代码很可能会更高效,但也更难调试。

不同的是,如果你开启优化,编译器会进行更多的优化,可能会转换你的代码,导致行号不准确,你无法获取局部变量的值等等。

于 2013-01-20T17:42:07.277 回答