Windows phone 7 Windows Phone应用程序在恢复时出现异常

Windows phone 7 Windows Phone应用程序在恢复时出现异常,windows-phone-7,exception,tombstoning,Windows Phone 7,Exception,Tombstoning,我正在开发一个Windows Phone应用程序。 我将其提交给Microsoft,他们向我发回了一个文件,描述了恢复应用程序时发生的错误(这与5.2性能和资源管理,第5.2.3点相关) 为了重现错误,我运行应用程序,我启动开始按钮进入“桌面”,然后单击“返回”按钮。 之后,VisualStudio以黄色突出显示System.Diagnostics.Debugger.Break()此代码中的行 // Code to execute on Unhandled Exceptions

我正在开发一个Windows Phone应用程序。 我将其提交给Microsoft,他们向我发回了一个文件,描述了恢复应用程序时发生的错误(这与5.2性能和资源管理,第5.2.3点相关)

为了重现错误,我运行应用程序,我启动开始按钮进入“桌面”,然后单击“返回”按钮。 之后,VisualStudio以黄色突出显示
System.Diagnostics.Debugger.Break()此代码中的行

// Code to execute on Unhandled Exceptions
        private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
        { 
            if (System.Diagnostics.Debugger.IsAttached)
            {
                // An unhandled exception has occurred; break into the debugger
                System.Diagnostics.Debugger.Break();
            }
        } 

使用stacktrace,我发现最后一个调用的方法是
CallApplicationEnableHandler

那么,这是一个已知的例外吗?我忘记处理一些例外情况了吗

以下是CallApplicationHandler调用上方的最后三行输出:

first chance exception 'System.ArgumentNullException' in Microsoft.Phone.Controls.dll
first chance exception 'System.ArgumentException' in System.Windows.dll
first chance exception 'System.ArgumentException' in System.Windows.dll
施工人员:

主页:

public MainPage()
        {
            journal.Debug(string.Format("Entrée méthode {0}", new StackTrace().GetFrame(1).GetMethod().Name));
            InitializeComponent();

            Loaded += new RoutedEventHandler(PhoneApplicationPage_Loaded);
        }



private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
    {
        mainVM = new MainViewModel();
        DataContext = mainVM;
    }
对于应用程序:

public App()
        {
            // Global handler for uncaught exceptions. 
            // Note that exceptions thrown by ApplicationBarItem.Click will not get caught here.
            UnhandledException += Application_UnhandledException;

            // Standard Silverlight initialization
            InitializeComponent();

            // Phone- {2} -specific initialization
            InitializePhoneApplication();
        }

private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
        {
           if (System.Diagnostics.Debugger.IsAttached)
            {
                // An unhandled exception has occurred; break into the debugger
                System.Diagnostics.Debugger.Break();
            }
        } 

由于调用了
应用程序\u UnhandledException
,因此很可能您没有处理某个异常

通过查看正在加载的页面的页面构造函数以及
OnNavigatedTo
事件处理程序(如果有)来调试此操作


在应用程序级别,查看您在
应用程序\u Activated

中所做的操作,将您的代码放入Try-Catch块。我也面临着这样的问题,但随后通过异常处理方法进行处理

try
 {

   // your code

 }

catch (Exception ex)
 {

   throw (ex);
 }

callapplicationehandler
是最重要的,因为这会将事件链触发到未处理的异常处理程序。堆栈跟踪的其余部分是什么?在堆栈的正下方的东西将为我们提供更多信息来帮助您。是否有更详细的
InnerException
。但最后三个调试行包含首次出现的异常。我编辑了这篇文章来展示它们。在你第一次离开之前,你能确认应用程序已经完全加载完毕吗?我有相同的错误消息。快把我逼疯了。在我的情况下,应用程序有时不会启动。我在应用程序激活的方法中什么也不做。@Zakaria和OnNavigatedTo事件的构造函数是什么?