Exemplo n.º 1
0
 private void Temporizador_Principal_Tick(object sender, EventArgs e)
 {
     try
     {
         int Tick = Environment.TickCount;
         try
         {
             if (Variable_Excepción)
             {
                 if ((Environment.TickCount / 500) % 2 == 0)
                 {
                     if (!Variable_Excepción_Imagen)
                     {
                         Variable_Excepción_Imagen              = true;
                         Barra_Estado_Botón_Excepción.Image     = Resources.Excepción;
                         Barra_Estado_Botón_Excepción.ForeColor = Color.Red;
                         Barra_Estado_Botón_Excepción.Text      = "Exceptions: " + Program.Traducir_Número(Variable_Excepción_Total);
                     }
                 }
                 else
                 {
                     if (Variable_Excepción_Imagen)
                     {
                         Variable_Excepción_Imagen              = false;
                         Barra_Estado_Botón_Excepción.Image     = Resources.Excepción_Gris;
                         Barra_Estado_Botón_Excepción.ForeColor = Color.Black;
                         Barra_Estado_Botón_Excepción.Text      = "Exceptions: " + Program.Traducir_Número(Variable_Excepción_Total);
                     }
                 }
                 if (!Barra_Estado_Botón_Excepción.Visible)
                 {
                     Barra_Estado_Botón_Excepción.Visible = true;
                 }
                 if (!Barra_Estado_Separador_1.Visible)
                 {
                     Barra_Estado_Separador_1.Visible = true;
                 }
             }
         }
         catch (Exception Excepción) { Depurador.Escribir_Excepción(Excepción != null ? Excepción.ToString() : null); Variable_Excepción_Total++; Variable_Excepción = true; }
         try
         {
             try
             {
                 if (Tick % 250 == 0) // Only update every quarter second
                 {
                     if (Program.Rendimiento_Procesador != null)
                     {
                         double CPU = (double)Program.Rendimiento_Procesador.NextValue();
                         if (CPU < 0d)
                         {
                             CPU = 0d;
                         }
                         else if (CPU > 100d)
                         {
                             CPU = 100d;
                         }
                         Barra_Estado_Etiqueta_CPU.Text = "CPU: " + Program.Traducir_Número_Decimales_Redondear(CPU, 2) + " %";
                     }
                     Program.Proceso.Refresh();
                     long Memoria_Bytes = Program.Proceso.PagedMemorySize64;
                     Barra_Estado_Etiqueta_Memoria.Text = "RAM: " + Program.Traducir_Tamaño_Bytes_Automático(Memoria_Bytes, 2, true);
                     if (Memoria_Bytes < 4294967296L) // < 4 GB
                     {
                         if (Variable_Memoria)
                         {
                             Variable_Memoria = false;
                             Barra_Estado_Etiqueta_Memoria.ForeColor = Color.Black;
                         }
                     }
                     else // >= 4 GB
                     {
                         if ((Environment.TickCount / 500) % 2 == 0)
                         {
                             if (!Variable_Memoria)
                             {
                                 Variable_Memoria = true;
                                 Barra_Estado_Etiqueta_Memoria.ForeColor = Color.Red;
                             }
                         }
                         else
                         {
                             if (Variable_Memoria)
                             {
                                 Variable_Memoria = false;
                                 Barra_Estado_Etiqueta_Memoria.ForeColor = Color.Black;
                             }
                         }
                     }
                 }
             }
             catch { Barra_Estado_Etiqueta_Memoria.Text = "RAM: ? MB (? GB)"; }
         }
         catch (Exception Excepción) { Depurador.Escribir_Excepción(Excepción != null ? Excepción.ToString() : null); Variable_Excepción_Total++; Variable_Excepción = true; }
         long FPS_Milisegundo = FPS_Cronómetro.ElapsedMilliseconds;
         long FPS_Segundo     = FPS_Milisegundo / 1000L;
         if (FPS_Segundo != FPS_Segundo_Anterior)
         {
             FPS_Segundo_Anterior           = FPS_Segundo;
             FPS_Real                       = FPS_Temporal;
             Barra_Estado_Etiqueta_FPS.Text = FPS_Real.ToString() + " FPS";
             FPS_Temporal                   = 0L;
         }
         FPS_Temporal++;
     }
     catch (Exception Excepción) { Depurador.Escribir_Excepción(Excepción != null ? Excepción.ToString() : null); Variable_Excepción_Total++; Variable_Excepción = true; }
 }
Exemplo n.º 2
0
 internal void Cargar_Errores()
 {
     try
     {
         if (!Ocupado)
         {
             long   Depurador_Errores = 0L, Depurador_Errores_Únicos = 0L;
             string Texto = null;
             Lector_Depurador = new FileStream(Application.StartupPath + "\\Debugger", FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite);
             Lector_Depurador.Seek(0L, SeekOrigin.Begin);
             Lector_Depurador_Binario = new BinaryReader(Lector_Depurador, Encoding.ASCII);
             if (Lector_Depurador != null && Lector_Depurador_Binario != null && Lector_Depurador.Length > 0L)
             {
                 List <Excepciones> Lista_Excepciones = new List <Excepciones>();
                 for (long Índice = 0L; Índice < Lector_Depurador.Length;)
                 {
                     uint     CRC32         = 0;
                     DateTime Primera_Fecha = DateTime.MinValue;
                     DateTime Última_Fecha  = DateTime.MinValue;
                     long     Repeticiones  = 0L;
                     int      Longitud      = 0;
                     string   Mensaje       = null;
                     try { CRC32 = Lector_Depurador_Binario.ReadUInt32(); }
                     catch { CRC32 = 0; }
                     try { Primera_Fecha = DateTime.FromBinary(Lector_Depurador_Binario.ReadInt64()); }
                     catch { Primera_Fecha = DateTime.MinValue; }
                     try { Última_Fecha = DateTime.FromBinary(Lector_Depurador_Binario.ReadInt64()); }
                     catch { Última_Fecha = DateTime.MinValue; }
                     try { Repeticiones = Lector_Depurador_Binario.ReadInt64(); }
                     catch { Repeticiones = 0L; }
                     try { Longitud = Lector_Depurador_Binario.ReadInt32(); }
                     catch { Longitud = 0; }
                     try { Mensaje = Encoding.Unicode.GetString(Lector_Depurador_Binario.ReadBytes(Longitud)); }
                     catch { Mensaje = "Unknown error."; }
                     Depurador_Errores += Repeticiones;
                     Depurador_Errores_Únicos++;
                     Lista_Excepciones.Add(new Excepciones(CRC32, Primera_Fecha, Última_Fecha, Repeticiones, Longitud, Mensaje));
                     Índice += 32 + Longitud;
                 }
                 if (Lista_Excepciones.Count > 0)
                 {
                     Lista_Excepciones.Sort(new Comparador_Excepciones());
                     if (Invertir_Orden)
                     {
                         Lista_Excepciones.Reverse();
                     }
                     for (int Índice = 0; Índice < Lista_Excepciones.Count; Índice++)
                     {
                         Texto += "[" + (Índice + 1).ToString() + "] [x" + Program.Traducir_Número(Lista_Excepciones[Índice].Repeticiones) + /*"] [CRC-32: " + Program.Traducir_Número(Lista_Excepciones[Índice].CRC32) + */ "] [" + Program.Traducir_Fecha_Hora(Lista_Excepciones[Índice].Primera_Fecha) + "] [" + Program.Traducir_Fecha_Hora(Lista_Excepciones[Índice].Última_Fecha) + "] " + Lista_Excepciones[Índice].Mensaje + "\r\n\r\n";
                     }
                 }
             }
             this.Text = "Exception Debugger by Jupisoft - [Errors: " + Program.Traducir_Número(Depurador_Errores) + ", Unique Errors: " + Program.Traducir_Número(Depurador_Errores_Únicos) + "]";
             if (!string.IsNullOrEmpty(Texto))
             {
                 Texto = "[Dear " + Program.Texto_Usuario + " if you want to help with the debugging of these exceptions, please send the \"Debugger\" file to: [email protected]]\r\n\r\n" + Texto.TrimEnd("\r\n\r\n".ToCharArray());
             }
             Editor_RTF.Text = Texto;
         }
     }
     catch (Exception Excepción) { Depurador.Escribir_Excepción(Excepción != null ? Excepción.ToString() : null); }
 }