2011-05-23 37 views
6

我有一款应用程序可以在设备模拟器上正常工作,但在真正的设备上它会在一段时间后崩溃。几分钟后以及1-2小时后可能会发生。 问题发生在设备本身或连接到视觉工作室。什么可以导致WP7应用程序崩溃,无一例外

问题是没有异常被抛出,VS只是报告连接丢失。 我没有检查我是否使用了太多的内存,但事实并非如此(http://stackoverflow.com/questions/4239193/whats-causing-my-wp7-app-to-crash)。

什么能导致应用程序崩溃而不抛出异常?

回答

4

它可以在没有的情况下发生崩溃例外情况为Stackoverflow

在调试时,您可以通过向Application.UnhandledException添加事件处理程序并在Debug.WriteLine方法中写入异常详细信息来检测到此类异常。结果在Visual Studio输出/调试窗口中可见。

private void OnAppUnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e) 
    { 
     Debug.WriteLine(e.ExceptionObject.ToString()); 
    } 
+0

这是否仅适用于WP7?因为去年我调试了一个由于StackOverflowException而崩溃的应用程序,并且VS像其他任何未处理的异常一样崩溃。 – Zmaster 2011-05-23 18:12:00

+0

根据链接没有异常抛出stackoverflow自c#2.0 – thumbmunkeys 2011-05-23 18:14:09

+0

我只是做了这个测试。在.NET 4上,抛出了StackOverflowException,即使try/catch语句没有抓住它,VS也会中断。在WP7应用程序中,应用程序崩溃,VS失去连接。似乎我应该在这个方向工作:) – Zmaster 2011-05-23 18:30:26

1

这可能是phsycal设备不完全匹配仿真配置。您可能会向设备上不存在的输出流发送错误,或者将错误发送到本地用于设备的仿真器和远程设备的某个输出流。

此外,你可能只是满足不同的条件,让你一个干净的出口。

与许多设备上的所有后台应用程序相比,仿真程序可能运行得很干净。

记录和调试是你的朋友。

你的问题很有趣,但缺乏细节。

2

如果它发生在非UI线程上,您可能会遇到未被捕获的崩溃。检查你的异步电话。

此外,响应应用程序栏按钮项目或菜单项上的操作而执行的代码中的任何错误都可能导致此行为。

0

我有一些无效的xaml崩溃的应用程序的实例。

您可以在Visual Studio中更改设置以解决例外情况,以打破所有异常情况,以追踪发生的情况。

相关问题