代码之家  ›  专栏  ›  技术社区  ›  Paul

使用global.aspx页报告错误

  •  0
  • Paul  · 技术社区  · 17 年前

    我总是在从错误报告中识别应用程序中的错误时遇到问题。目前,我创建了一封电子邮件,其中包含有关错误的信息。

    • 用户
    • 网址
    • 错误信息
    • 时间与戴特

    这是我用的代码

    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
    

    问题是,在某些情况下,有了这些信息,我无法找出导致错误的原因。

    我该如何获得关于错误的更多详细信息?例如,是什么控制导致的,变量中的数据在系统中传递。

    此外,您使用了哪些方法来收集电子邮件以外的数据,以及这些方法的成功程度如何。例如,登录数据库、在文本文件中重新编码等。

    1 回复  |  直到 17 年前
        1
  •  1
  •   John Saunders    17 年前

    例如,没有通用的方法来捕获相关变量。当你出错的时候,你几乎是在要求把垃圾处理掉!即使如此,您也必须了解用户在错误发生之前所做的事情。你可以得到 一些 来自IIS日志的帮助(如果引用URL不为空,还应记录它)。

    这个问题的真正答案是一个困难的问题:更好的质量保证。一旦你离开现场,发生的错误就越少,你就越不必去想清楚。

    通过自动化单元测试,特别是使用测试驱动的开发,可以进一步减少在QA中发现的错误数量。