Windows phone 7 Windows Phone应用程序在恢复时出现异常
我正在开发一个Windows Phone应用程序。 我将其提交给Microsoft,他们向我发回了一个文件,描述了恢复应用程序时发生的错误(这与5.2性能和资源管理,第5.2.3点相关) 为了重现错误,我运行应用程序,我启动开始按钮进入“桌面”,然后单击“返回”按钮。 之后,VisualStudio以黄色突出显示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
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事件的构造函数是什么?