Exemplo n.º 1
0
 public static async Task<StorageFile> AppendLogtoCacheAsync(CrashLog exception, string name = "crashLOG")
 {
     var cache = ApplicationData.Current.LocalCacheFolder;
     var log = await cache.CreateFileAsync(name, CreationCollisionOption.OpenIfExists);
     var sb = new StringBuilder(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + Environment.NewLine);
     var info = SystemInfoHelper.GetSystemInfo();
     foreach (var i in info)
     {
         sb.Append(i + Environment.NewLine);
     }
     sb.Append("Error Code = " + exception.HResult.ToHexString() + Environment.NewLine);
     sb.Append("Exception = " + exception.Exception + Environment.NewLine);
     sb.Append("Message = " + exception.Message + Environment.NewLine);
     sb.Append("StackTrace = " + exception.StackTrace + Environment.NewLine);
     sb.Append("Source = " + exception.Source + Environment.NewLine);
     await FileIO.AppendTextAsync(log, sb.ToString());
     return log;
 }
Exemplo n.º 2
0
 private async void App_UnhandledException(object sender, UnhandledExceptionEventArgs e)
 {
     var log = new CrashLog(e.Exception.ToString(), e.Exception.HResult, e.Exception.StackTrace, e.Exception.Source, e.Exception.Message);
     e.Handled = true;
     if (e.Exception.HResult == -2147418113 || e.Exception.HResult.ToHexString() == "0x80070057")
     {
         return;
     }
     if (settings.Preferences.EnableCrashReport)
     {
         await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.High, new DispatchedHandler(() =>
         {
             Window.Current.Content = null;
             var f = new Frame();
             f.Navigate(typeof(CrashReportPage), log);
             Window.Current.Content = f;
         }));
     }
 }
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     base.OnNavigatedTo(e);
     crash = e.Parameter as CrashLog;
 }