Windows 10通用应用程序暂停崩溃与死锁

时间:2016-05-31 07:57:01

标签: uwp application-lifecycle

我在Windows 10通用应用程序中遇到暂停功能问题。对于第一次登录,我有一些逻辑请求api,以便为刚刚登录的用户加载信息。在此初始加载期间,如果" start"按下按钮app应该通过暂停但它没有到达" OnSuspending"。 我按照一些步骤来解决问题。在生成的迷你转储中我发现了一些奇怪的东西:

EXCEPTION_CODE: (NTSTATUS) 0xc0000194 - {EXCEPTION}  Possible deadlock condition.

STACK_TEXT:    
ntdll!NtWaitForMultipleObjects+0x6
KERNELBASE!WaitForMultipleObjectsEx+0x112
twinapi_appcore!Event::WaitWithFreeUnusedLibraries+0x88
twinapi_appcore!Windows::ApplicationModel::Core::CoreApplicationFactory::RunInternal+0x208
twinapi_appcore!Windows::ApplicationModel::Core::CoreApplicationFactory::Run+0x12
Windows_UI_Xaml!RunInActivationMode+0x58
Windows_UI_Xaml!DirectUI::FrameworkApplicationFactory::Start+0x32
0x2d0684

BUCKET_ID:  c0000194_twinapi_appcore!Event::WaitWithFreeUnusedLibraries+88

我只能在设备上重现它,而不能在模拟器上重现。

1 个答案:

答案 0 :(得分:1)

在通用Windows 10应用程序中,如果要执行任何后台操作,则应使用后台任务。 您的应用程序处于死锁的原因是您开始调用Api并同时暂停应用程序。 请尝试使用下面的教程,该教程展示了如何实现后台任务(具有良好的描述):

https://msdn.microsoft.com/en-us/windows/uwp/launch-resume/create-and-register-a-background-task

您也可以使用我的GitHub中的现成样本:

https://github.com/Daniel-Krzyczkowski/Windows10/tree/master/BackgroundTasksDemo