【发布时间】:2015-02-16 12:03:44
【问题描述】:
我正在编写一个 Windows Phone 8.1 应用程序 (WINRT)。 有时我的主页崩溃,调试器甚至无法处理它。我尝试将 try-catch 应用于每一行,但没有帮助。
它有时会发生,但并非总是如此。
调试时直接进入App.g.i.cs:
#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
UnhandledException += (sender, e) =>
{
if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
};
#endif
}
e: {System.Collections.ListDictionaryInternal} {System.Exception:对象已存在。 (来自 HRESULT 的异常:0x80071392)} Message = "对象已存在。\r\n"
是 XAML 问题吗?我检查了 XAML 的每一行,我没有发现任何问题。如何解决?
【问题讨论】:
-
您是否尝试检查问题出现在哪里?应用构造函数、启动事件、页面构造函数、恢复、导航事件?信息量如此之少,没有任何代码,很难提供帮助。
-
发件人是:{Merakyahoga.com.Merakyahoga_com_WindowsPhone_XamlTypeInfo.XamlTypeInfoProvider}
-
我在 App.cs 的每个方法上都有一个断点,但没有用
-
这主要发生在您在“持有者”/列表>之间移动控件或项目时,即“从 X 中删除面板并再次将其添加到 Y”,我们确实需要更多代码,是的,代码行捕获了所有“UnhandledExceptions”,这就是它在调试时跳转到那里的原因
global::System.Diagnostics.Debugger.Break() -
您可以尝试的另一件事是检查
non-awaitedasync方法中是否有将项目添加到 ListDictionary 的位置。有时 notawaiting 方法会吞下异常。
标签: c# xaml windows-runtime windows-phone windows-phone-8.1