4

我收到“System.NullReferenceException:对象引用未设置为对象的实例”。启动 Web 应用程序的发布版本时出错。它告诉我进行调试构建以获取更多信息,但是当我启动调试构建时,错误不再发生。如果没有调试版本中大多数错误给出的行号的帮助,很难(据我所知)查明这个模糊错误的原因。

谁能指出我正确的方向来缩小这个异常的原因?

谢谢。

4

2 回答 2

2

即使您在发布模式下构建,也可以在堆栈跟踪中获取文件名和行号请参阅在发布模式下显示 .NET 程序集的堆栈跟踪中的行号在 .NET 发布模式构建中是否提供堆栈跟踪信息?例如。

一般来说,我认为您应该避免在 Debug 与 Release 模式下引入不同的程序行为(但也许您不是故意引入的?)。

于 2012-10-06T08:19:51.990 回答
2

作为对您的问题的快速补救(如果您没有时间重写代码),请查看您发布应用程序的机器上的事件日志。您很有可能只是缺少一些 dll。

作为一个长期解决方案,我认为您可以从向您的应用程序(企业库、log4net 等,甚至您自己的记录器)添加一些日志记录功能开始。打印完整的堆栈跟踪是非常宝贵的帮助来源,尤其是当您在发布版本中包含 .pdb 文件时。这将允许您执行的代码准确地判断哪一行引发了异常。

希望这会有所帮助,Piotr

于 2012-10-06T06:31:39.690 回答