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);
}
复制代码

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值