0

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

  • 用户
  • 网址
  • 错误信息
  • 时间和日期

这是我使用的代码

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

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

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

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

4

1 回答 1

1

例如,没有捕获所涉及变量的通用方法。您几乎要求在遇到错误时进行转储!即使这样,您也必须弄清楚用户在错误发生之前一直在做什么。您可以从 IIS 日志中获得一些帮助(如果引用 URL 不为空,您还应该记录它)。

这个问题的真正答案是一个难题:更好的质量保证。上线后发生的错误越少,您需要弄清楚的错误就越少。

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

于 2009-04-09T11:40:39.623 回答