【问题标题】:Debuging System.NullReferenceException happening on server [duplicate]调试服务器上发生的 System.NullReferenceException [重复]
【发布时间】:2016-04-05 12:52:15
【问题描述】:

我有一个 ASP.NET MVC 应用程序。其中一种方法是抛出 System.NullReferenceException “对象引用未设置为对象的实例”。不幸的是,它只发生在服务器上,本地版本的代码运行良好。我如何调试它以知道是哪个对象导致了问题,或者至少在代码处理过程中制动了哪个行号?

【问题讨论】:

  • 如果你在 Azure 上,你可以远程调试
  • 如果这段代码目前没有上线,应该可以对整个事情进行尝试捕获,并在捕获时获取参数(Exception e),该参数将在消息框中输出喜欢MessageBox.Show(e.ToString());希望这有帮助
  • 首先,打印堆栈跟踪以显示引发异常的特定方法。接下来,通过将其提取为越来越小的方法来重构该方法。最终,您将根据堆栈跟踪找到罪魁祸首。有时方法很难调试,因为它们太长了。

标签: c# debugging exception exception-handling


【解决方案1】:

首先,使用合适的日志框架和try...catch 块来获取有关问题大致位置的信息。打印堆栈跟踪。

然后尝试缩小问题范围:

  • 如果可能,请尝试attach a remote debugger
  • 添加Trace.WriteLineDebug.Assert 语句并检查传入参数的值是否在您的预期范围内;
  • Enable tracing 在您的服务器上,以便在 ASP.NET 中直接访问日志记录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-26
    • 2010-10-15
    • 2012-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多