1

我在 VS 2010 和 .net 4.0.3 ... SP1 下编码。在 C# 和 WPF 中

我的项目现在非常庞大,包括其他同事开发的 dll,所以我无法访问该东西的整个代码。

关键是我的程序几乎随机崩溃(在调试期间)声称未处理的 NullReferenceException。有几个线程同时移动,所以很难知道它发生在哪里。

我用谷歌搜索并在这里搜索,我发现人们说如果你去

Debug>Exceptions>Common Language RunTime Exceptions> System.NullReferenceException

并将其设置为 Throw 而不是 User handle。它应该在发生空引用的地方停止,但它不会..

在运行时,我可以看到一些线程如何冻结(输出停止反映在 UI 中,但其他线程继续(它们确实在 UI 上执行更改),然后,在几秒钟后,由于未处理的 NRE,整个事情崩溃了。

没有 callStack 也没有代码可以调试,所以我有点卡在这里:S

这是我得到的所有帮助:

System.NullReferenceException 未处理消息:对象引用未设置为对象的实例。

有什么建议吗???

4

1 回答 1

1

使用 Visual Studio 的IntelliTrace选项可以更好地调试和查找异常...
启用 IntelliTrace并且程序在 Debug 中崩溃后,您可以使用 IntelliTrace 堆栈来查找异常的来源。

来自 MSDN

IntelliTrace 记录这些类型的异常的异常类型和消息:
1. 抛出和捕获异常的已
处理异常 2. 未处理异常

于 2012-12-20T09:52:12.020 回答