【问题标题】:What can cause a WP7 app to crash with no exception什么会导致 WP7 应用程序崩溃,无一例外
【发布时间】:2011-05-23 17:53:05
【问题描述】:

我有一个在设备模拟器上运行良好的应用程序,但在真实设备上它会在一段时间后崩溃。它可能在几分钟后发生,也可能在 1-2 小时后发生。 该问题发生在设备单独或连接到 Visual Studio 时。

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

什么会导致应用崩溃而不抛出异常?

【问题讨论】:

    标签: windows-phone-7 crash


    【解决方案1】:

    它可以在Stackoverflow 上没有可见异常的情况下崩溃。

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

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

    【讨论】:

    • 这是否仅适用于 WP7?因为去年我正在调试一个由于 StackOverflowException 而崩溃的应用程序,而 VS 确实像任何其他未处理的异常一样崩溃了。
    • 根据链接,从 c# 2.0 开始,stackoverflow 上没有抛出异常
    • 我刚刚对此进行了测试。在 .NET 4 上,会引发 StackOverflowException,即使 try/catch 语句没有捕获到,VS 也会中断。在 WP7 应用程序上,应用程序崩溃并且 VS 失去连接。看来我应该朝这个方向努力:)
    • 今天经历了这个。花了2个小时才发现。 WP7(模拟器或设备)上的 Stackoverflows 根本不会被调试器捕获。应用程序和调试器在发生时都会崩溃。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      可能是物理设备与仿真配置不完全匹配。您可能会将错误发送到设备上不存在的输出流,或者将其发送到模拟器本地和设备远程的东西。

      此外,您可能只是满足不同的条件,从而将您带入一个干净的出口。

      与许多设备上的所有后台应用程序相比,模拟器可能运行良好。

      记录和调试是你的朋友。

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

      【讨论】:

        【解决方案4】:

        我遇到了一些导致应用程序崩溃的无效 xaml 实例。

        您可以更改 Visual Studio 中的异常设置,以中断所有异常以跟踪正在发生的事情。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-12-27
          • 2020-05-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-09-08
          • 2020-12-21
          相关资源
          最近更新 更多