UWP:没有 StackTrace 的随机 COMException - 不可重复

UWP: Random COMException without StackTrace - unrepeatable

我有一个 UWP 应用程序,它在多个客户端上运行(它是旁加载的),查看它不时崩溃的日志,但出现以下异常:

System.Runtime.InteropServices.COMException (0x80004005): Unspecified error

我在 App 构造函数中订阅的 UnhandledException 事件中捕获了发送日志的异常:

this.UnhandledException += App_UnhandledException;

但除了上述消息外,没有堆栈跟踪,而且查看应用程序日志时,我没有看到它发生时的模式,也无法重复。它看起来像是在显示或隐藏 ContentDialog 时发生的,或者在页面之间存在导航时发生的。但这只是一个猜测,因为它只是偶尔发生在客户身上。

我们的一个应用程序有一个类似的问题:从一个页面导航到另一个页面时随机发生无法追踪的崩溃。花了很多时间才弄清楚,但原因是我们对不同的 Pages.[=11 使用了 相同的名称声明 =]

例如,我们有一个名为 MainPage 的页面,用户可以从该页面导航到 DetailsPage。这非常随机地失败(~1/1000)。原因是他们都有同名声明:

x:Name="MyPage"

另一个应用程序有同样的问题。这是由多个 UserControls 具有相同名称声明引起的。