UWP 应用程序在未处于调试模式时崩溃

Posted

技术标签:

【中文标题】UWP 应用程序在未处于调试模式时崩溃【英文标题】:UWP app crashes when not in debugging mode 【发布时间】:2016-06-17 14:01:04 【问题描述】:

我想做的事:

对于我正在开发的 UWP 应用,我要求用户使用他们的 Google/FB 凭据登录以访问应用的功能。为此,我使用 Auth0 客户端进行 OAuth 身份验证。成功登录后,用户应导航到 MainPage.xaml。在调试应用程序时,这完全没有问题。

XAML:

<Button Margin="0,45,0,0" Grid.Row="6" HorizontalAlignment="Center" Name="GoogleSignIn" Content="Sign in with Google+" Tag="google-oauth2" Click="OAuthSignin" />
<Button Margin="0,15,0,0" Grid.Row="7" HorizontalAlignment="Center" Name="FacebookSignIn" Content="Sign in with Facebook" Tag="facebook" Click="OAuthSignin" />

代码隐藏:

private async void OAuthSignin(object sender, RoutedEventArgs e)

    string oauthprovider = ((Button)sender).Tag.ToString();
    try
        
            Auth0User user = await App.auth0.LoginAsync(oauthprovider);

            if (user != null)
            
                //Add user to credential locker
            
        
        catch(Exception ex)
        
            ex.ToString();
        
        finally
        
            var nav = Template10.Common.BootStrapper.Current.NavigationService;
            nav.Navigate(typeof(Views.MainPage));
            nav.ClearHistory();
        

出了什么问题:

自从应用程序部署到模拟器后,我停止调试并通过点击磁贴启动应用程序。我进入登录页面,输入我的凭据。我一按回车键,我就看到它返回登录页面并很快崩溃。如果此时我重新打开应用程序,我会看到我已经登录,它会将我直接带到 MainPage.xaml(应用程序的逻辑也是如此)

我担心的是:为什么它在不处于调试模式时表现不同?这对我造成了困扰,因为我无法设置断点来确定导致崩溃的原因。

任何意见将不胜感激。

P.S:我尝试将应用程序部署到我的 Lumia 640 上,我在手机上也看到了同样的问题(意思是说它与模拟器无关)。桌面版工作正常(即使在调试之外)。

【问题讨论】:

尝试启用“使用 .NET Native 工具链编译”进行调试配置,看看它是否也会崩溃:***.com/questions/34829321/… 调试和发布之间的区别之一是PLM被禁用并且应用程序没有被暂停(我也会尝试在那里搜索,就像你所说的在桌面上没有问题 - 在桌面应用程序上未暂停)。您的登录过程如何?您使用网络身份验证代理吗?在调试模式下,如果您需要暂停您的应用,请查看at this answer。 @Romasz,Auth0 客户端使用 WebAuthenticationBroker。暂停应用程序不是问题。当我不调试和启动应用程序(在模拟器或真手机上)时,它在 await App.auth0.LoginAsync(oauthprovider); 之后很快崩溃;声明。 【参考方案1】:

我之前也遇到过这个问题。

我使用 VS2015 中调试 uwp 应用程序的新功能解决了调试我的应用程序的问题。 您需要在预启动模式下调试您的应用。

我建议你选择

不启动,但调试我的应用选项

https://blogs.msdn.microsoft.com/visualstudioalm/2015/11/30/debug-uwp-prelaunch-with-vs2015/

【讨论】:

以上是关于UWP 应用程序在未处于调试模式时崩溃的主要内容,如果未能解决你的问题,请参考以下文章

应用程序在设备上的 Beta 版中崩溃,但未在调试中

UWP 应用的调试和发布模式

本地化应用程序仅在非基本语言上崩溃,并且仅在未使用Xcode运行时崩溃

WCF、EF 和 UWP

Xcode。无法在断点处停止

iOS 应用程序在使用 XCode 调试器启动时崩溃,在没有调试器的情况下运行良好