Silverlight何时显示“调试资源字符串不可用”。信息?

时间:2014-01-07 20:00:14

标签: c# silverlight exception-handling

我有一些关于应用程序启动时出现消息框的报告,其中包含以下内容:

[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引用添加一些异常处理,但不能在本地重现它,也找不到它的来源。 如果这是来自未处理的异常,为什么它不显示指定的消息和堆栈跟踪?

1 个答案:

答案 0 :(得分:1)

如果计算机没有正常安装Silverlight SDK,则会出现错误消息。

要调试类似的浏览器端异常,通常的做法是使用Visual Studio。如果您不能使用VS,只需使用WinDbg附加到浏览器进程。