不可重现的 UWP 应用程序崩溃异常 stowed_exception 80131500 在 Windows 商店认证过程中
Unreproducible UWP App Crash Exception stowed_exception 80131500 In Windows Store Certification Process
我最近多次无法让我的UWP申请通过认证。
认证团队总是告诉我它在启动/启动时崩溃。
即使我有堆栈跟踪,我也无法自己重现崩溃。
如果有人遇到类似的问题或有任何我可以继续前进的想法,那就太好了。
我尝试但无法重现崩溃的事情:
- 运行 Windows App Cert Kit,顺利通过,没有崩溃和问题。
- 运行 应用处于发布模式,启用了 .NET 本机工具链。
- 安装并运行 上传到 Windows 商店的包。
- 生成一个侧面加载的应用程序并将其安装在另一个非开发应用程序上
Windows 10 台设备。
记录的崩溃堆栈如下
appname::app onlaunched()
stowed_exception 80131500: stowed_exception
combase.dll RoOriginateLanguageException() error.cpp:1504
System.Private.Interop System::Runtime::InteropServices::ExceptionHelpers OriginateLanguageException() ExceptionHelpers.cs:113
System.Private.Interop System::Runtime::InteropServices::ExceptionHelpers GetHRForExceptionWithErrorPropogationNoThrow() ExceptionHelpers.cs:219
System.Private.Interop System::Runtime::InteropServices::McgMarshal GetHRForExceptionWinRT() McgMarshal.cs:1239
appname.UniversalWindows.McgInterop.dll __Interop::ReverseComStubs.Stub_12_System __Canon_$catch[=12=]() SharedStubs.g.cs:11147
mrt100_app.dll RhpCallCatchFunclet2() exceptionhandling.asm:438
mrt100_app.dll System::Runtime::EH DispatchEx() ExceptionHandling.cs:683
mrt100_app.dll System::Runtime::EH RhThrowEx() ExceptionHandling.cs:552
mrt100_app.dll RhpThrowEx2() exceptionhandling.asm:198
System.Private.Interop System::Runtime::InteropServices::McgMarshal ThrowOnExternalCallFailed() McgMarshal.cs:1267
appname.UniversalWindows.McgInterop.dll __Interop::ComCallHelpers Call() SharedStubs.g.cs:8527
appname.UniversalWindows.McgInterop.dll Windows::UI::Xaml::Controls::IFrame__Impl::Stubs Navigate() ImplTypes.g.cs:158360
appname.UniversalWindows.McgInterop.dll Windows::UI::Xaml::Controls::Frame Navigate() SafeTypes.g.cs:44489
appname.UniversalWindows.exe appname::App OnLaunched() App.xaml.cs:76
System.Private.Threading System::Progress__System::VoidValueTypeParameter_.System.IProgress_T_ Report() SafeTypes.g.cs:23264
appname.UniversalWindows.McgInterop.dll __Interop::ReverseComStubs.Stub_12_System __Canon_() SharedStubs.g.cs:11130
appname.UniversalWindows.McgInterop.dll Windows::UI::Xaml::IApplicationOverrides__Impl::Vtbl OnLaunched__n() ImplTypes.g.cs:138287
Windows.UI.Xaml.dll DirectUI::FrameworkApplicationGenerated OnLaunchedProtected() frameworkapplication.g.cpp:502
Windows.UI.Xaml.dll DirectUI::FrameworkView OnActivated() frameworkview_partial.cpp:267
Windows.UI.Xaml.dll Microsoft::WRL::Details::DelegateArgTraits_long (__cdecl Windows::Foundation::ITypedEventHandler_impl_Windows::Foundation::Internal::AggregateType_Windows::UI::Core::CoreWindow *,Windows::UI::Core::ICoreWindow *_,IInspectable *_ *)() event.h:245
Microsoft::WRL::InvokeTraits_-2_::InvokeDelegates__lambda_3ad0adb09957fd62cbc86618ebbeb8fa_,Windows::Foundation::ITypedEventHandler_Windows::ApplicationModel::Core::CoreApplicationView *,Windows::ApplicationModel::Activation IActivatedEventArgs *_ _() internalevent.h:119
twinapi.appcore.dll Windows::ApplicationModel::Core::CoreApplicationView Activate() coreapplicationview.cpp:545
rpcrt4.dll Invoke() invoke.asm:183
rpcrt4.dll Ndr64StubWorker() srvcall.cxx:392
rpcrt4.dll NdrStubCall3() srvwrap.cxx:166
combase.dll CStdStubBuffer_Invoke() stub.cxx:1446
rpcrt4.dll CStdStubBuffer_Invoke() ndrfwds.cxx:182
combase.dll ObjectMethodExceptionHandlingAction__lambda_c9f3956a20c9da92a64affc24fdd69ec_ _() excepn.hxx:87
combase.dll DefaultStubInvoke() channelb.cxx:1452
combase.dll SyncServerCall StubInvoke() servercall.hpp:826
combase.dll ServerCall ContextInvoke() ctxchnl.cxx:1418
combase.dll ASTAInvokeInApartment() applicationsta.cpp:470
combase.dll AppInvoke() channelb.cxx:1182
combase.dll ComInvokeWithLockAndIPID() channelb.cxx:2290
combase.dll ThreadDispatch() chancont.cxx:416
combase.dll ModernSTAState HandleMessage() modernsta.cpp:472
combase.dll ModernSTAWaitContext HandlePriorityEventsFromMessagePump() modernsta.cpp:1550
Windows.UI.dll Windows::UI::Core::CDispatcher ProcessMessage() dispatcher.cpp:339
Windows.UI.dll Windows::UI::Core::CDispatcher WaitAndProcessMessagesInternal() dispatcher.cpp:1953
Windows.UI.dll Windows::UI::Core::CDispatcher WaitAndProcessMessages() dispatcher.cpp:461
twinapi.appcore.dll _lambda_643db08282a766b00cec20194396f531_ operator() coreapplicationviewagilecontainer.cpp:1145
SHCore.dll _WrapperThreadProc() thread.cpp:321
ntdll.dll RtlUserThreadStart() rtlstrt.c:1152
如果相关,这在我的 App.cs 行 76 上。
rootFrame.Navigate(typeof(InitializePage), e.Arguments);
app之前在Windows商店提交无数次都没有问题,这我完全不知道现在发生了什么。
根据您的描述,您的应用可能在不同配置的 PC 上运行不同,因此可能是语言设置或区域设置或类似的东西需要设置某些值才能使应用崩溃。
不幸的是,UWP 堆栈跟踪来自已编译的应用程序,这使得它无法在您的代码中查找原因。
最后,.NET原生团队帮我解决了这个问题。
这是因为应用程序太大,无法使用 32 位编译器进行编译,并且有一段时间 运行 内存不足。
即使编译成功,也可能会随机崩溃。
将 true 添加到项目中的 PropertyGroup 有助于解决问题。
我最近多次无法让我的UWP申请通过认证。 认证团队总是告诉我它在启动/启动时崩溃。 即使我有堆栈跟踪,我也无法自己重现崩溃。 如果有人遇到类似的问题或有任何我可以继续前进的想法,那就太好了。
我尝试但无法重现崩溃的事情:
- 运行 Windows App Cert Kit,顺利通过,没有崩溃和问题。
- 运行 应用处于发布模式,启用了 .NET 本机工具链。
- 安装并运行 上传到 Windows 商店的包。
- 生成一个侧面加载的应用程序并将其安装在另一个非开发应用程序上 Windows 10 台设备。
记录的崩溃堆栈如下
appname::app onlaunched()
stowed_exception 80131500: stowed_exception
combase.dll RoOriginateLanguageException() error.cpp:1504
System.Private.Interop System::Runtime::InteropServices::ExceptionHelpers OriginateLanguageException() ExceptionHelpers.cs:113
System.Private.Interop System::Runtime::InteropServices::ExceptionHelpers GetHRForExceptionWithErrorPropogationNoThrow() ExceptionHelpers.cs:219
System.Private.Interop System::Runtime::InteropServices::McgMarshal GetHRForExceptionWinRT() McgMarshal.cs:1239
appname.UniversalWindows.McgInterop.dll __Interop::ReverseComStubs.Stub_12_System __Canon_$catch[=12=]() SharedStubs.g.cs:11147
mrt100_app.dll RhpCallCatchFunclet2() exceptionhandling.asm:438
mrt100_app.dll System::Runtime::EH DispatchEx() ExceptionHandling.cs:683
mrt100_app.dll System::Runtime::EH RhThrowEx() ExceptionHandling.cs:552
mrt100_app.dll RhpThrowEx2() exceptionhandling.asm:198
System.Private.Interop System::Runtime::InteropServices::McgMarshal ThrowOnExternalCallFailed() McgMarshal.cs:1267
appname.UniversalWindows.McgInterop.dll __Interop::ComCallHelpers Call() SharedStubs.g.cs:8527
appname.UniversalWindows.McgInterop.dll Windows::UI::Xaml::Controls::IFrame__Impl::Stubs Navigate() ImplTypes.g.cs:158360
appname.UniversalWindows.McgInterop.dll Windows::UI::Xaml::Controls::Frame Navigate() SafeTypes.g.cs:44489
appname.UniversalWindows.exe appname::App OnLaunched() App.xaml.cs:76
System.Private.Threading System::Progress__System::VoidValueTypeParameter_.System.IProgress_T_ Report() SafeTypes.g.cs:23264
appname.UniversalWindows.McgInterop.dll __Interop::ReverseComStubs.Stub_12_System __Canon_() SharedStubs.g.cs:11130
appname.UniversalWindows.McgInterop.dll Windows::UI::Xaml::IApplicationOverrides__Impl::Vtbl OnLaunched__n() ImplTypes.g.cs:138287
Windows.UI.Xaml.dll DirectUI::FrameworkApplicationGenerated OnLaunchedProtected() frameworkapplication.g.cpp:502
Windows.UI.Xaml.dll DirectUI::FrameworkView OnActivated() frameworkview_partial.cpp:267
Windows.UI.Xaml.dll Microsoft::WRL::Details::DelegateArgTraits_long (__cdecl Windows::Foundation::ITypedEventHandler_impl_Windows::Foundation::Internal::AggregateType_Windows::UI::Core::CoreWindow *,Windows::UI::Core::ICoreWindow *_,IInspectable *_ *)() event.h:245
Microsoft::WRL::InvokeTraits_-2_::InvokeDelegates__lambda_3ad0adb09957fd62cbc86618ebbeb8fa_,Windows::Foundation::ITypedEventHandler_Windows::ApplicationModel::Core::CoreApplicationView *,Windows::ApplicationModel::Activation IActivatedEventArgs *_ _() internalevent.h:119
twinapi.appcore.dll Windows::ApplicationModel::Core::CoreApplicationView Activate() coreapplicationview.cpp:545
rpcrt4.dll Invoke() invoke.asm:183
rpcrt4.dll Ndr64StubWorker() srvcall.cxx:392
rpcrt4.dll NdrStubCall3() srvwrap.cxx:166
combase.dll CStdStubBuffer_Invoke() stub.cxx:1446
rpcrt4.dll CStdStubBuffer_Invoke() ndrfwds.cxx:182
combase.dll ObjectMethodExceptionHandlingAction__lambda_c9f3956a20c9da92a64affc24fdd69ec_ _() excepn.hxx:87
combase.dll DefaultStubInvoke() channelb.cxx:1452
combase.dll SyncServerCall StubInvoke() servercall.hpp:826
combase.dll ServerCall ContextInvoke() ctxchnl.cxx:1418
combase.dll ASTAInvokeInApartment() applicationsta.cpp:470
combase.dll AppInvoke() channelb.cxx:1182
combase.dll ComInvokeWithLockAndIPID() channelb.cxx:2290
combase.dll ThreadDispatch() chancont.cxx:416
combase.dll ModernSTAState HandleMessage() modernsta.cpp:472
combase.dll ModernSTAWaitContext HandlePriorityEventsFromMessagePump() modernsta.cpp:1550
Windows.UI.dll Windows::UI::Core::CDispatcher ProcessMessage() dispatcher.cpp:339
Windows.UI.dll Windows::UI::Core::CDispatcher WaitAndProcessMessagesInternal() dispatcher.cpp:1953
Windows.UI.dll Windows::UI::Core::CDispatcher WaitAndProcessMessages() dispatcher.cpp:461
twinapi.appcore.dll _lambda_643db08282a766b00cec20194396f531_ operator() coreapplicationviewagilecontainer.cpp:1145
SHCore.dll _WrapperThreadProc() thread.cpp:321
ntdll.dll RtlUserThreadStart() rtlstrt.c:1152
如果相关,这在我的 App.cs 行 76 上。
rootFrame.Navigate(typeof(InitializePage), e.Arguments);
app之前在Windows商店提交无数次都没有问题,这我完全不知道现在发生了什么。
根据您的描述,您的应用可能在不同配置的 PC 上运行不同,因此可能是语言设置或区域设置或类似的东西需要设置某些值才能使应用崩溃。
不幸的是,UWP 堆栈跟踪来自已编译的应用程序,这使得它无法在您的代码中查找原因。
最后,.NET原生团队帮我解决了这个问题。 这是因为应用程序太大,无法使用 32 位编译器进行编译,并且有一段时间 运行 内存不足。 即使编译成功,也可能会随机崩溃。 将 true 添加到项目中的 PropertyGroup 有助于解决问题。