2012-04-20 63 views
0

运行我的metro应用时,我收到以下错误:是CLR还是地铁车?

运行时遇到一个致命错误。错误 的地址位于线程0x279c处的0x6e6b9a68处。错误代码是0x80131506。 此错误可能是CLR中的错误,也可能是用户代码中不安全或不可验证的 部分中的错误。此错误的常见来源包括用户 编组错误COM-interop或PInvoke,这可能会损坏 堆栈。

我很难想象CLR是越野车。

该应用程序是纯粹的C#,没有C++。

我不使用互操作。

我该看什么?

+0

请记住,地铁和.net 4.5仍处于测试阶段,所以很容易出现bug。据我所知,WinRT是COM – 2012-04-20 16:25:26

+0

这是FEEE,垃圾收集堆被损坏。这可能是一个WinRT投影错误。发布repro到connect.microsoft.com – 2012-04-20 21:38:35

回答

0

每个软件都有错误。如果这个问题是可重复的,你应该这样做:1)将问题缩小到测试用例。这也将确保问题不在你身边,而且确实在运行时。 2)搜索是否没有任何已发布的错误报告或知识库文章3)向微软提交错误报告。

如果崩溃是可重现的,我相信微软会尽力找到并修复这个错误。

+1

报告可能的CLR错误的正确场所是[Microsoft Connect](http://connect.microsoft.com/VisualStudio)。 – 2012-04-20 16:29:01

1

如果您正在构建Metro应用程序,请为此异常做好准备,以便导致严重的睡眠不足。在微软论坛中,有一段时间,我们似乎将问题隔离出来,以便在与自定义值转换器绑定时发生。真正简单的转换器很好,但有趣的转换器会在看似随机的时间产生这种异常。祝你好运。

+0

同意。在我意识到之前,我花了数小时的时间 - 异常的随机性确实是由ValueConverters引起的 - 我必须更改很多应用程序才能解决此问题。 – Krishna 2012-04-25 13:26:55

0

Windows 8仍处于测试阶段。我不确定“越野车”是否尚未发货的软件的公平形容词。对于你的问题 - 他们可能在这个阶段都是越野车。

0

即使您的应用程序是纯c#,任何对WinRT API的调用都是c#和C++之间的互操作。它们之间的互操作层是CLR的责任,这就是为什么异常说它可能是CLR错误。