gpt4 book ai didi

silverlight - 如何在 Silverlight 中调试 XAML 解析错误?

转载 作者:行者123 更新时间:2023-12-03 00:50:52 24 4
gpt4 key购买 nike

我半定期地遇到以下问题:我对 XAML 或其使用的某些资源进行了更改,当我在 Debug模式下加载 Silverlight 项目时,它只能达到旋转的 Silverlight 加载动画。

我尝试将 VS08 调试器附加到进程,但此时它没有执行任何操作(在 Silverlight 中后工作正常,但之前不行。)

从以前的经验来看,我注意到当 XAML 或其中的资源出现问题时就会发生这种情况,但到目前为止我唯一的解决方案是逐行剖析代码,直到发现问题为止。

有没有一种简单的方法来调试/诊断这些情况?

更新

我找到了this question在一些帮助下,但它仍然没有提供调试此类问题的好方法。

最佳答案

调试起来确实很痛苦,但我最终发现问题隐藏在我们的一个自定义控件的构造函数中(它正在寻找不存在的资源。)真正的问题不是修复问题但找到了。

我发现 IE 响应从 Silverlight 传递到 DOM 的异常,但在 Chrome 浏览器(我使用的)中却没有得到同样类型的反馈。这个解决方案实际上有很大帮助(甚至比IE提示)是将App.xaml.cs中的ReportErrorToDOM()方法修改为以下内容:

private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e)
{
string errorMsg = String.Empty;
try
{
errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace;
errorMsg = errorMsg.Replace('"', '\'').Replace("\r\n", @"\n");

System.Windows.Browser.HtmlPage.Window.Eval("throw new Error(\"Unhandled Error in Silverlight Application " + errorMsg + "\");");
}
catch (Exception)
{
#if DEBUG
MessageBox.Show(errorMsg);
#endif
}
}

这为您提供了 XAML 中问题开始的位置。它不是一个理想的调试器,但它确实有帮助。

关于silverlight - 如何在 Silverlight 中调试 XAML 解析错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2389454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com