.net 空引用异常-没有可用的源
我正在使用Visual Studio 2003和.NET 1.1(Visual basic)-是的,它是一个旧系统,无法升级。该程序中有一个工作流程,运行25分钟即可完成(基本上是使用活动报告打印支票)。现在,对于其中一个客户机,进程在抛出空引用异常20分钟或更长时间后突然失败。 我把错误框放在下面- 当我点击break时,它说在这个位置找不到来源 现在的问题是,这个过程运行了100个雇员,调用了10个函数,我不能一直为每个雇员设置断点进行调试(这只需要几个小时)来查看抛出空错误的位置。我也不能在try-catch或null-check中包装所有对象(这只是涉及太多的文件和函数),我需要知道它在哪里被破坏 我还监视了TaskManager上的内存,以查看aspnet是否占用了太多内存,但似乎总是低于120MB。我也尝试了GC.Collect(),但没有任何帮助 如果有人能指导我如何调试这个问题,我将不胜感激.net 空引用异常-没有可用的源,.net,vb.net,garbage-collection,visual-studio-2003,.net,Vb.net,Garbage Collection,Visual Studio 2003,我正在使用Visual Studio 2003和.NET 1.1(Visual basic)-是的,它是一个旧系统,无法升级。该程序中有一个工作流程,运行25分钟即可完成(基本上是使用活动报告打印支票)。现在,对于其中一个客户机,进程在抛出空引用异常20分钟或更长时间后突然失败。 我把错误框放在下面- 当我点击break时,它说在这个位置找不到来源 现在的问题是,这个过程运行了100个雇员,调用了10个函数,我不能一直为每个雇员设置断点进行调试(这只需要几个小时)来查看抛出空错误的位置。我也
谢谢尝试捕获应用程序域级别的异常,并记录堆栈跟踪以查看其发生位置。仅当发生异常的位置的PDB可用时,才能显示源 你可以找到更多信息 编辑(更多信息): 它基本上允许您捕获未在一个方法中处理的每个异常。尝试将异常消息及其堆栈跟踪写入日志文件。最好递归地遍历InnerException,以真正找到错误的根源。
找到它后,您可以手动调试它,因为您知道在哪里设置断点。尝试捕获应用程序域级别的异常,并记录堆栈跟踪以查看它发生的位置。仅当发生异常的位置的PDB可用时,才能显示源 你可以找到更多信息 编辑(更多信息): 它基本上允许您捕获未在一个方法中处理的每个异常。尝试将异常消息及其堆栈跟踪写入日志文件。最好递归地遍历InnerException,以真正找到错误的根源。
找到它后,您可以手动调试它,因为您知道在哪里设置断点。添加一些老式的控制台。WriteLine(“我正在处理Employee nr:+empNo”)可以精确指出异常出现的位置。现在可以在该值上设置条件断点并启动调试会话。此外,有时,只需查看相关的数据库表就可以发现问题(某些字段为空)添加一些老式的控制台。WriteLine(“我正在处理Employee nr:+empNo”)以确定从何处获得异常。现在可以在该值上设置条件断点并启动调试会话。此外,有时,只要查看相关的数据库表就会发现问题(某些字段为空)谢谢Steve!我完全忘了添加控制台..WriteLine!谢谢史蒂夫!我完全忘了添加控制台..WriteLine!谢谢,简。这真的很有趣-我要试一试。谢谢,简。这真的很有趣-我要试一试。