在我的Windows Phone 8解决方案中,我有时会在返回主全景视图时看到似乎是随机空引用异常。
然而,尽管有Debug编译,但我没有得到任何关于出错的提示。 为什么Source和StackTrace是null?有什么方法可以找出扔掉它的东西吗?
编辑:抛出System.NullReferenceException时,异常设置为中断。它不会侵入此异常的调试器。它确实可以用于其他例外。
EDIT2:只是我的代码被禁用,我在调用堆栈窗口中得到两个堆栈帧:
MyApp.DLL!MyApp.Application_UnhandledException(object sender, System.Windows.ApplicationUnhandledExceptionEventArgs e) Line 179 C#
System.Windows.ni.dll!MS.Internal.Error.CallApplicationUEHandler(System.Exception e) Unknown
System.Windows.ni.dll!MS.Internal.Error.CallAUEHandler(uint hr, out uint bIsHandled) Unknown
异常对象可以看到更多字段和属性,但除了上面屏幕截图中显示的内容外,一切都为null。
EDIT3:Intellitrace和backtracing不是一个选项,因为它不适用于silverlight和windows phone。
我已经使用postsharp添加了对所有代码的跟踪,但不幸的是,它并非来自我的任何代码。最后发生的事情是我成功退出LongListSelector_ItemRealized。
答案 0 :(得分:2)
我不确定为什么stacktrace是空的。但是,为了调试您的问题,您可以通过启用Visual Studio中断任何第一次机会异常(Control + Alt + e,并选中“公共语言运行时异常”前面的框)来收集更多信息。然后当异常发生时,查看“调用堆栈”窗口。