【问题标题】:WP 8.1 XAML app crushes time to time on the Windows 10 Mobile at MapControlWP 8.1 XAML 应用程序不时在 MapControl 的 Windows 10 Mobile 上崩溃
【发布时间】:2016-07-13 04:59:50
【问题描述】:

当我们的 Windows Phone 8.1 Xaml 应用交付到我们的测试手机(尤其是 Lumia 640XL 和 Lumia 930)时,我们开始在 Windows 10 上测试它。

我们遇到了一个问题,应用程序在任何时间和任何地点意外关闭。没有任何场景可以重现它。

托管调试器报告“ExecutionEngineException”,但没有任何详细信息和任何堆栈。

本机调试器报告访问冲突,请调查下面的调用堆栈。

请帮我想办法找到暗恋的原因!

附:该应用程序在 windows phone 8.1 上完美运行

coreclr.dll!ComCallWrapper::GetComIPFromCCW(class ComCallWrapper *,struct _GUID const &,class MethodTable *,enum GetComIPFromCCW::flags) 未知 coreclr.dll!Unknown_QueryInterface_Internal(class ComCallWrapper *,struct IUnknown *,struct _GUID const &,void * *) 未知 coreclr.dll!Unknown_QueryInterface(struct IUnknown *,struct _GUID const &,void * *) 未知 Windows.UI.Xaml.dll!6bdd84b0() 未知 Windows.UI.Xaml.Maps.dll!6335a582() 未知 Windows.UI.Xaml.Maps.dll!6332aa3c() 未知 Windows.UI.Xaml.Maps.dll!6335168a() 未知 Windows.UI.Xaml.Maps.dll!633523f8() 未知 Windows.UI.Xaml.Maps.dll!63359e60() 未知 Windows.UI.Xaml.dll!6bd202c2() 未知 Windows.UI.Xaml.dll!6bece3a4() 未知 Windows.UI.Xaml.dll!6bd09ff8() 未知 Windows.UI.Xaml.dll!6bd09f16() 未知 Windows.UI.Xaml.dll!6bd0d000() 未知 Windows.UI.Xaml.dll!6bd0cbb6() 未知 Windows.UI.Xaml.dll!6bd0cab8() 未知 Windows.UI.Xaml.dll!6bd0c8d4() 未知 Windows.UI.Xaml.dll!6bd0c836() 未知 Windows.UI.Xaml.dll!6bd0c7ba() 未知 Windows.UI.Xaml.dll!6bd7ef74() 未知 MinUser.dll!7740b816() 未知 MinUser.dll!774082b0() 未知 Windows.UI.dll!6df2f0ea() 未知 Windows.UI.dll!6df2ef72() 未知 Windows.UI.dll!6df2eeca() 未知 Windows.UI.Xaml.dll!6bf0501a() 未知 Windows.UI.Xaml.dll!6bf04fdc() 未知 Windows.UI.Xaml.dll!6bf04e9c() 未知 twinapi.appcore.dll!75eb352a() 未知 twinapi.appcore.dll!75eaef88() 未知 SHCore.dll!763643a2() 未知 ntdll.dll!77a154ba() 未知

【问题讨论】:

    标签: c# c++ xaml windows-phone-8.1 windows-10-mobile


    【解决方案1】:

    我找到了导致应用崩溃的原因。如果 GC 尝试释放在子集合中包含自定义 XAML 控件的地图控件,则会发生这种情况。

    因此,要修复它,您必须在地图的卸载事件中从地图中移除所有子项。

    【讨论】:

    • 你的评论让我免于长时间调试:)
    【解决方案2】:

    在升级到最后一个 Insider 版本 (10.0.14295.1000) 后,我们的应用也出现了类似问题。地图控件在 Windows 10 移动版上崩溃,但在此之前,Visual Studio 需要操作系统中缺少一个文件:“uielement.cpp”。它还给出了已知位置:“d:\rs1\onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp”。

    有谁知道这个丢失的文件在哪里?也许我们缺少 SDK 的一些新部分?

    找不到文件后,抛出异常:

    ***.exe 中 0x633FB4B1 (Windows.UI.Xaml.dll) 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000000。

    据我所知,位置 0x00000000 为 NULL。

    “输出窗口”:

    在 ***.exe 中的 0x7799D247 处引发异常:Microsoft C++ 异常:内存位置 0x0426F3C8 处的 web::http::http_exception。

    在 ***.exe 中的 0x7799D247 处引发异常:Microsoft C++ 异常:[rethrow] 在内存位置 0x00000000。

    在 ***.exe 中的 0x7799D247 处引发异常:Microsoft C++ 异常:内存位置 0x0426F3C8 处的 web::http::http_exception。

    在 ***.exe 中的 0x7799D247 处引发异常:Microsoft C++ 异常:内存位置 0x06D8F9D0 处的 web::http::http_exception。

    ***.exe 中 0x633FB4B1 (Windows.UI.Xaml.dll) 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000000。

    “来源搜索”详情:

    查找“d:\rs1\onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp”的源。校验和:MD5 {7 d7 a1 1e 56 b b 82 cf a4 b6 bd 97 32 30 bd} 文件 'd:\rs1\onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp' 不存在。 在脚本文档中查找 'd:\rs1\onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp'... 查看编辑并继续目录 'C:***\enc_temp_folder\'... 在 Edit-and-Continue 目录中找不到具有匹配校验和的文件。 在项目中查找“d:\rs1\onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp”。 在项目中找不到该文件。 查看目录 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\vc7\atlmfc'... 查看目录 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\vc7\crt'... 查看目录'c:\'... 查看目录 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\src\mfc'... 查看目录 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\src\mfcm'... 查看目录 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\src\atl'... 查看目录'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\crt\src'... 查看目录 'C:\Program Files (x86)\Windows Kits\10\Source\10.0.10240.0\ucrt'... 在目录中查找''... 查看目录 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include'... 查看目录 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\include'... 查看目录 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt'... 查看目录 'C:\Program Files (x86)\Windows Kits\8.1\Include\um'... 查看目录 'C:\Program Files (x86)\Windows Kits\8.1\Include\shared'... 查看目录 'C:\Program Files (x86)\Windows Kits\8.1\Include\winrt'... 查看目录 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\src\mfc'... 查看目录 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\src\mfcm'... 查看目录 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\src\atl'... 查看目录 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\crt\src'... 查看目录 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include'... 查看目录'C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\include'... 查看目录“C:\Program Files (x86)\Windows Phone Kits\8.1\Include”... 查看目录 'C:\Program Files (x86)\Windows Phone Kits\8.1\Include\abi'... 查看目录'C:\Program Files (x86)\Windows Phone Kits\8.1\Include\mincore'... 查看目录 'C:\Program Files (x86)\Windows Phone Kits\8.1\Include\minwin'... 查看目录'C:\Program Files (x86)\Windows Phone Kits\8.1\Include\wrl'... 活动解决方案的调试源文件设置表明调试器不会要求用户查找文件:d:\rs1\onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp。 调试器找不到源文件 'd:\rs1\onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp'。

    注意:该应用适用于以前版本的 Windows 10 Mobile,它仍然适用于 Windows 8.1。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多