Пример #1
0
 private static void Main(string[] args)
 {
     using (var game1 = new Game1())
     {
         try
         {
             game1.Run();
         }
         catch (Exception ex1)
         {
             var str1 = Utils.GenerateReportFromException(ex1);
             try
             {
                 if (OS.currentInstance != null)
                 {
                     str1 = str1 + "\r\n\r\n" + OS.currentInstance.Flags.GetSaveString() + "\r\n\r\n";
                     str1 = string.Concat(str1, "Timer : ", (float) (OS.currentInstance.timer/60.0), "mins\r\n");
                     str1 = str1 + "Display cache : " + OS.currentInstance.displayCache + "\r\n";
                     str1 = str1 + "String Cache : " + OS.currentInstance.getStringCache + "\r\n";
                     str1 = str1 + "Terminal--------------\r\n" +
                            OS.currentInstance.terminal.GetRecentTerminalHistoryString() + "-------------\r\n";
                 }
                 else
                     str1 += "\r\n\r\nOS INSTANCE NULL\r\n\r\n";
                 str1 = str1 + "\r\nMenuErrorCache: " + MainMenu.AccumErrors + "\r\n";
             }
             catch (Exception ex2)
             {
             }
             var str2 = str1 + "\r\n\r\nPlatform API: " + PlatformAPISettings.Report +
                        "\r\n\r\nGraphics Device Reset Log: " + GraphicsDeviceResetLog + "\r\n\r\nCurrent Time: " +
                        DateTime.Now.ToShortTimeString() + "\r\n";
             Utils.writeToFile(str2, "CrashReport_" + Guid.NewGuid().ToString().Replace(" ", "_") + ".txt");
             Utils.SendRealWorldEmail(
                 "Hackent " + MainMenu.OSVersion + " Crash " + DateTime.Now.ToShortDateString() + " " +
                 DateTime.Now.ToShortTimeString(), "*****@*****.**", str2);
         }
     }
 }