1

我目前正在为我的应用程序处理墓碑。为了墓碑我的应用程序,我将 2 页导航到我的应用程序(从第一页开始)。然后我点击主页按钮,然后我点击后退按钮回到我的应用程序。点击后退按钮后,我看到的只是一个页面,上面写着“正在恢复”并带有进度条。它似乎停止了。

现在,当我启动该应用程序时,我将它从 Visual Studio 启动到我的设备。但是只要我点击设备上的主页按钮,Visual Studio 中的调试器就会退出。所以当我点击后退按钮进入我的应用程序时,我再也没有机会从 Visual Studio 进行调试了。

有没有我需要设置的设置,以便按下主页按钮不会停止调试?

此外,如果我尝试通过应用程序列表访问我设备上的应用程序,我的应用程序会以默认的初始屏幕图像停止。所以肯定出了问题。

是否有与设备相关的进程,我可以将 Visual Studio 中的调试器附加到进行调试?还是我总是需要从 Visual Studio 启动应用程序进行调试?

我如何处理墓碑的示例代码如下。

protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
{
 if(NavigationMode.Back != e.NavigationMode)
 {
  try 
  {
   PhoneApplicationService.Current.State["token"] = myMvvM;
  } 
  catch(Exception ex) 
  { 
   Debug.WriteLine(ex.ToString()); 
  }
 }
}

现在我没有对 App.xaml.cs 中的 Application_UnhandledException 做任何事情。代码保留为生成状态(我只有 Debug.WriteLine 在那里查看日志)。

private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
 //break point is placed on line right below this comment line
 Debug.WriteLine("unhandled exception sender type = " + 
  sender.GetType().FullName + ", ex = " + e.ToString());

 if (System.Diagnostics.Debugger.IsAttached)
 {
  // An unhandled exception has occurred; break into the debugger
  System.Diagnostics.Debugger.Break();
 }
}
4

1 回答 1

2

如果您在调试模式下运行,则单击主页时它不会退出,除非发生异常。只有退出应用程序才会退出,即。从第一个屏幕按返回。

但听起来你的墓碑逻辑正在引发异常,而你没有捕捉到它。您是否为 Application.UnhandledException 事件实现了处理程序?(Visual Studio 的默认 App.xaml.cs 模板实现了它)

于 2011-07-26T12:24:16.200 回答