• Windows Phone 7 记录程序崩溃信息,email crash exception stacktrace


         调试的时候找到程序的崩溃点,想必大家很清楚了,可以在App.cs中的RootFrame_NavigationFailed和Application_UnhandledException方法中捕捉到程序导航出错和崩溃信息,这时直接输出到Debug控制台就可以看到了。

          但是程序的Bug往往不是开发人员测试出来的,当测试人员测出崩溃信息时,有时我们仅通过测试人员的描述很难定位到崩溃点,而现在支持Windows Phone 7的日志又无法记录崩溃时的堆栈信息。这时就要能出个能让测试人员提交崩溃信息的功能。这里我选择了用Email提交。

    在App.cs文件中加入这两个方法

       private void ShowExceptionError(string title,string msg)
            {
                    ExceptionErrorUpload(title, msg);
     
                //这里要调用MessageBox才能保证调用邮箱服务成功
                    System.Windows.MessageBox.Show(msg, title, MessageBoxButton.OK);     
            }
            private static  void ExceptionErrorUpload(string title,string msg)
            {
                EmailComposeTask task = new EmailComposeTask();
               //这个是要发送到的邮箱
                task.To = "xxxxx@xxx.com";
              //邮件标题
                task.Subject = title;
                task.Body = msg;
                task.Show();
    
            }

    然后直接在RootFrame_NavigationFailed和Application_UnhandledException方法中调用就可以了。

     private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
            {
               ShowExceptionError(e.ExceptionObject.Message, e.ExceptionObject.StackTrace);
    }
      private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
            {
     ShowExceptionError(e.Exception.Message, e.Exception.StackTrace);
    }

    这样就可以轻松的把崩溃信息发送到指定的邮箱。

    在这里再推荐一个工具友盟,友盟提供的服务很多,程序崩溃信息也可以通过它来记录,当然还有其他好多的统计功能,大家自己去看看吧。

        


    作者:月食之后
    出处:http://www.cnblogs.com/aftereclipse/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    redis 学习(一)
    spring 学习总结(一)
    Struts2 学习(三)
    Python3 高级特性
    Python3 模块
    Python3 函数式编程
    Python3 函数
    Python3 列表
    Python3 字符编码
    Java Servlet 回顾
  • 原文地址:https://www.cnblogs.com/aftereclipse/p/2507365.html
Copyright © 2020-2023  润新知