2009-04-09 4 views
0

Ich hatte immer Probleme mit der Identifizierung der Fehler in Anwendungen von den Fehlerberichten, die ich bekomme. Derzeit baue ich eine E-Mail mit Informationen über den Fehler, der enthält.Fehlerbericht mit der Global.aspx-Datei

  • Benutzer
  • URL
  • Fehlermeldung
  • Uhrzeit und Datum

Dies ist der Code, den ich

Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs) 

    Dim _UserIpAddress as string = Request.ServerVariables("REMOTE_ADDR") 
    Dim _Browser as string = Request.ServerVariables("HTTP_USER_AGENT") 
    Dim _URL as string = Request.Url.AbsoluteUri 
    Dim _ErrorDate as string = System.DateTime.Now 
    Dim _Error as string = Server.GetLastError().InnerException.ToString() 

End Sub 

Die Frage verwenden, ist, dass diese Informationen in einigen Fälle kann ich nicht herausfinden, was den Fehler verursacht hat.

Wie würde ich weitere Details zu dem Fehler erhalten? z. B. was Kontrolle verursacht, die Daten in den Variablen, die im System

übergeben werden Auch welche Methoden der Sammlung der Daten außer E-Mail haben Sie verwendet und wie erfolgreich sie gewesen sind. z.B. Anmelden einer Datenbank, Umcodieren in eine Textdatei usw.

Antwort

1

Es gibt zum Beispiel keine allgemeine Methode zur Erfassung der beteiligten Variablen. Du fragst ziemlich genau, dass ein Dump gemacht werden muss, wenn du einen Fehler bekommst! Trotzdem müssen Sie herausfinden, was der Benutzer getan hat, bevor der Fehler aufgetreten ist. Sie können einige Hilfe von den IIS-Protokollen erhalten (und Sie sollten auch die Referrer-URL protokollieren, wenn sie nicht null ist).

Die wahre Antwort auf dieses Problem ist eine harte: bessere QA. Je weniger Fehler passieren, sobald Sie in den Live-Betrieb gegangen sind, desto weniger müssen Sie herausfinden.

Die Anzahl der in QA gefundenen Fehler kann weiter reduziert werden, indem sie durch automatisierte Komponententests gefunden werden, insbesondere durch Test-Driven Development.