1

我正在开发一个复杂的 Metro C# / XAML 库,我发现 InitializeComponent 中偶尔会出现故障,我发现无法调试:

System.Exception:来自 HRESULT 的异常:Windows.UI.Xaml.FrameworkElement.MeasureOverride 处的 0x880008AF(大小可用大小)

问题是这被捕获在 App 类中的未处理异常 catch all 中,并且除了上面引用的文本之外,没有堆栈跟踪和进一步的异常信息。

我已经关闭了托管的未处理异常 catch-all 并将 windbg 设置为崩溃进程的默认调试器,然后我可以看到非托管调用堆栈以及失败的确切位置,但我没有任何使用 windbg 的经验和所以我无法深入了解失败发生的确切原因。

我还在 Visual Studio 2012 中设置了“中断所有异常”,但在托管代码中没有看到任何第一次机会异常。

有没有人在 Win 8 中使用托管 Metro 应用程序时遇到过这样的问题,并且能够超越一般错误消息?

谢谢

4

2 回答 2

0

它可能来自控件上的错误绑定。尝试删除它的所有绑定。这个对我有用。

于 2012-09-12T16:59:01.557 回答
0

确保您的自定义控件的默认样式键设置为自定义控件的类型。从另一个自定义控件复制和粘贴构造函数时,我犯了这个错误。

于 2013-08-13T21:13:55.967 回答