C# 正在调试服务器上发生System.NullReferenceException异常
我有一个ASP.NETMVC应用程序。其中一个方法是抛出System.NullReferenceException“对象引用未设置为对象的实例”。不幸的是,这只发生在服务器上,本地版本的代码工作得非常好。我如何调试它以了解哪个对象导致了问题,或者至少代码处理在哪个行号上停止?首先,使用一个合适的日志框架并尝试…捕获块以获取关于问题大致位置的信息。打印堆栈跟踪 然后尝试缩小问题的范围:C# 正在调试服务器上发生System.NullReferenceException异常,c#,debugging,exception,exception-handling,C#,Debugging,Exception,Exception Handling,我有一个ASP.NETMVC应用程序。其中一个方法是抛出System.NullReferenceException“对象引用未设置为对象的实例”。不幸的是,这只发生在服务器上,本地版本的代码工作得非常好。我如何调试它以了解哪个对象导致了问题,或者至少代码处理在哪个行号上停止?首先,使用一个合适的日志框架并尝试…捕获块以获取关于问题大致位置的信息。打印堆栈跟踪 然后尝试缩小问题的范围: 如果可能的话,试着去做 添加Trace.WriteLine或Debug.Assert语句,并检查传入参数的值是
- 如果可能的话,试着去做李>
- 添加
或Trace.WriteLine
语句,并检查传入参数的值是否在预期范围内李>Debug.Assert
- 在服务器上获取可在ASP.NET中直接访问的日志记录
(异常e)
,该参数将输出到消息框中,如MessageBox.Show(e.ToString())代码>希望这有帮助首先,打印堆栈跟踪以显示引发异常的特定方法。接下来,重构该方法,将其提取为越来越小的方法。最终,您将根据堆栈跟踪找到罪魁祸首。有时方法很难调试,仅仅因为它们太长了。