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 应用程序在未处于调试模式时崩溃的主要内容,如果未能解决你的问题,请参考以下文章