我有一些关于应用程序启动时出现消息框的报告,其中包含以下内容:
[Arg_NullReferenceException]
Arguments:
Debugging resource strings are unavailable. Often the key and arguments provide
sufficient information to diagnose the problem. See http://go.microsoft...
我理解提供的链接给了我异常细节,我显然在某处有一个null ref。我无法重现这一点,所以我试图找到抛出此消息的位置,并希望添加一些错误处理。
这个特定的消息框是否存在于Silverlight中,或是在发生此类异常时是否遵循任何异常处理?在app构造函数中,我有
this.UnhandledException += this.Application_UnhandledException;
是:
private void Application_UnhandledException(object sender,
ApplicationUnhandledExceptionEventArgs e)
{
MessageBox.Show(e.ExceptionObject.Message + "\n" + e.ExceptionObject.StackTrace);
}
所以看起来这个消息框不是来自Application_UnhandledException
,或者它会有消息,换行符,然后是堆栈跟踪。所以现在关于如何生成此消息框的两个选项是:1)Silverlight在后台执行,或者2)这来自现有的catch
块,尽管我发现没有显示在这样。
我正在使用OfflineCatalog
在隔离存储中对XAP进行离线缓存,这会在请求失败时涉及一些异步WebClient
下载和回退到隔离存储。在这个过程中的某个地方可能会发生null ref。
总结一下,我想为这个Null引用添加一些异常处理,但不能在本地重现它,也找不到它的来源。 如果这是来自未处理的异常,为什么它不显示指定的消息和堆栈跟踪?
答案 0 :(得分:1)
如果计算机没有正常安装Silverlight SDK,则会出现错误消息。
要调试类似的浏览器端异常,通常的做法是使用Visual Studio。如果您不能使用VS,只需使用WinDbg附加到浏览器进程。