Windows Store App Access Violation Exception only on Windows 10
Windows Store App Access Violation Exception only on Windows 10
我有 Windows 个应用商店应用程序,该应用程序已在应用商店中使用了 2 年。 Windows 10 发布后,我遇到了很多崩溃。我可以重现崩溃,但只能在 Windows 10,而不是 8 或 8.1 上重现,而且,我能够通过开发人员控制台看到此崩溃仅发生在 Windows 10 上。 windows 10 ~ 1000 一个月有很多这样的崩溃。
崩溃序列:我打开页面,应用程序挂起一秒钟然后关闭,没有任何报告建议。
当我使用 visual studio 调试应用程序时,应用程序失败并出现异常:
Access violation reading location 0x00000090 in Windows.Ui.Xaml.dll
来自 dev.windows 控制台的堆栈跟踪:
windows_ui_xaml DirectUI::CCueRenderer::Initialize 0x154
windows_ui_xaml DirectUI::CTimedTextSource::Initialize 0xE0
windows_ui_xaml DirectUI::CTimedTextSource::Create 0x60
windows_ui_xaml DirectUI::MediaElement::EnableTimedText 0x60
windows_ui_xaml DirectUI::MediaElement::HandleMediaOpened 0x21
windows_ui_xaml DirectUI::MediaElement::OnMediaOpened 0x4D
windows_ui_xaml CFxCallbacks::MediaElement_OnMediaOpened 0x20
windows_ui_xaml CMediaElement::OpenMedia 0x156
windows_ui_xaml CMediaElement::HandleSourceReadyEvent 0x12
windows_ui_xaml CMediaElement::HandleMediaEvent 0x90
windows_ui_xaml CMediaQueue::ProcessQueue 0x67
windows_ui_xaml CMediaQueueManager::ProcessQueues 0x90
windows_ui_xaml CCoreServices::Tick 0x246
windows_ui_xaml CCoreServices::NWDrawTree 0x2F1
windows_ui_xaml CCoreServices::NWDrawMainTree 0xB7
windows_ui_xaml CWindowRenderTarget::Draw 0x73
windows_ui_xaml CXcpBrowserHost::OnTick 0x1CB
windows_ui_xaml CXcpDispatcher::Tick 0x88
windows_ui_xaml CXcpDispatcher::OnReentrancyProtectedWindowMessage 0x6F
windows_ui_xaml CXcpDispatcher::WindowProc 0xE0
user32 _InternalCallWinProc 0x2B
user32 UserCallWinProcCheckWow 0x1F0
user32 DispatchMessageWorker 0x231
user32 DispatchMessageW 0x10
windows_ui Windows::UI::Core::CDispatcher::ProcessMessage 0x356
windows_ui Windows::UI::Core::CDispatcher::WaitAndProcessMessages 0x129
windows_ui Windows::UI::Core::CDispatcher::ProcessEvents 0x75
windows_ui_xaml CJupiterWindow::RunCoreWindowMessageLoop 0x55
windows_ui_xaml CJupiterControl::RunMessageLoop 0x25
windows_ui_xaml DirectUI::DXamlCore::RunMessageLoop 0x1E
windows_ui_xaml DirectUI::FrameworkView::Run 0x1A
twinapi_appcore Windows::ApplicationModel::Core::CoreApplicationView::Run 0x3D
twinapi_appcore _lambda_8b2420e462ae079d580fd8e4ff08c89d_::_helper_func_stdcall_ 0xAC
shcore _WrapperThreadProc 0xCA
kernel32 BaseThreadInitThunk 0x24
ntdll __RtlUserThreadStart 0x2F
ntdll _RtlUserThreadStart
这是我下载报告时的错误描述:
NULL_CLASS_PTR_READ_c0000005_Windows.UI.Xaml.dll
NULL_POINTER_READ_c0000005_Windows.UI.Xaml.dll
有没有人也遇到过与 windows 10 相同的问题?
据我了解,堆栈跟踪中没有托管(我的)函数调用,这是否意味着它是 Windows 10 个错误?
如@Pooley 所述,此代码会在 windows 10 台计算机上导致错误:
var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("msappx:///Resources/Sounds/" + name + ".mp3"));
var stream = await file.OpenAsync(FileAccessMode.Read);
var mediaElement = new MediaElement();
mediaElement.SetSource(stream, file.FileType); mediaElement.Play();
我刚刚解决了一个非常相似的问题,即通用应用程序会因读取访问冲突而崩溃。堆栈跟踪看起来与您的非常相似,大多数时候它在 CXcpDispatcher::Tick 的某个地方崩溃了。尽管并非总是如此,但堆栈跟踪和异常本身有时会有所不同。
原因是本机 c++ class 由瘦 C# 包装器导入 dll (p/invoke)。当应用程序持有该 class 的实例时,它会时不时地崩溃。
c++ class 有一个 std::string 类型的私有成员。删除该成员后,通用应用程序停止崩溃。 C++ 编译器实际上为该成员发出警告 C4251。
我有 Windows 个应用商店应用程序,该应用程序已在应用商店中使用了 2 年。 Windows 10 发布后,我遇到了很多崩溃。我可以重现崩溃,但只能在 Windows 10,而不是 8 或 8.1 上重现,而且,我能够通过开发人员控制台看到此崩溃仅发生在 Windows 10 上。 windows 10 ~ 1000 一个月有很多这样的崩溃。
崩溃序列:我打开页面,应用程序挂起一秒钟然后关闭,没有任何报告建议。
当我使用 visual studio 调试应用程序时,应用程序失败并出现异常:
Access violation reading location 0x00000090 in Windows.Ui.Xaml.dll
来自 dev.windows 控制台的堆栈跟踪:
windows_ui_xaml DirectUI::CCueRenderer::Initialize 0x154
windows_ui_xaml DirectUI::CTimedTextSource::Initialize 0xE0
windows_ui_xaml DirectUI::CTimedTextSource::Create 0x60
windows_ui_xaml DirectUI::MediaElement::EnableTimedText 0x60
windows_ui_xaml DirectUI::MediaElement::HandleMediaOpened 0x21
windows_ui_xaml DirectUI::MediaElement::OnMediaOpened 0x4D
windows_ui_xaml CFxCallbacks::MediaElement_OnMediaOpened 0x20
windows_ui_xaml CMediaElement::OpenMedia 0x156
windows_ui_xaml CMediaElement::HandleSourceReadyEvent 0x12
windows_ui_xaml CMediaElement::HandleMediaEvent 0x90
windows_ui_xaml CMediaQueue::ProcessQueue 0x67
windows_ui_xaml CMediaQueueManager::ProcessQueues 0x90
windows_ui_xaml CCoreServices::Tick 0x246
windows_ui_xaml CCoreServices::NWDrawTree 0x2F1
windows_ui_xaml CCoreServices::NWDrawMainTree 0xB7
windows_ui_xaml CWindowRenderTarget::Draw 0x73
windows_ui_xaml CXcpBrowserHost::OnTick 0x1CB
windows_ui_xaml CXcpDispatcher::Tick 0x88
windows_ui_xaml CXcpDispatcher::OnReentrancyProtectedWindowMessage 0x6F
windows_ui_xaml CXcpDispatcher::WindowProc 0xE0
user32 _InternalCallWinProc 0x2B
user32 UserCallWinProcCheckWow 0x1F0
user32 DispatchMessageWorker 0x231
user32 DispatchMessageW 0x10
windows_ui Windows::UI::Core::CDispatcher::ProcessMessage 0x356
windows_ui Windows::UI::Core::CDispatcher::WaitAndProcessMessages 0x129
windows_ui Windows::UI::Core::CDispatcher::ProcessEvents 0x75
windows_ui_xaml CJupiterWindow::RunCoreWindowMessageLoop 0x55
windows_ui_xaml CJupiterControl::RunMessageLoop 0x25
windows_ui_xaml DirectUI::DXamlCore::RunMessageLoop 0x1E
windows_ui_xaml DirectUI::FrameworkView::Run 0x1A
twinapi_appcore Windows::ApplicationModel::Core::CoreApplicationView::Run 0x3D
twinapi_appcore _lambda_8b2420e462ae079d580fd8e4ff08c89d_::_helper_func_stdcall_ 0xAC
shcore _WrapperThreadProc 0xCA
kernel32 BaseThreadInitThunk 0x24
ntdll __RtlUserThreadStart 0x2F
ntdll _RtlUserThreadStart
这是我下载报告时的错误描述:
NULL_CLASS_PTR_READ_c0000005_Windows.UI.Xaml.dll
NULL_POINTER_READ_c0000005_Windows.UI.Xaml.dll
有没有人也遇到过与 windows 10 相同的问题? 据我了解,堆栈跟踪中没有托管(我的)函数调用,这是否意味着它是 Windows 10 个错误?
如@Pooley 所述,此代码会在 windows 10 台计算机上导致错误:
var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("msappx:///Resources/Sounds/" + name + ".mp3"));
var stream = await file.OpenAsync(FileAccessMode.Read);
var mediaElement = new MediaElement();
mediaElement.SetSource(stream, file.FileType); mediaElement.Play();
我刚刚解决了一个非常相似的问题,即通用应用程序会因读取访问冲突而崩溃。堆栈跟踪看起来与您的非常相似,大多数时候它在 CXcpDispatcher::Tick 的某个地方崩溃了。尽管并非总是如此,但堆栈跟踪和异常本身有时会有所不同。
原因是本机 c++ class 由瘦 C# 包装器导入 dll (p/invoke)。当应用程序持有该 class 的实例时,它会时不时地崩溃。
c++ class 有一个 std::string 类型的私有成员。删除该成员后,通用应用程序停止崩溃。 C++ 编译器实际上为该成员发出警告 C4251。