我一直遇到从我得到的错误报告中识别应用程序中的错误的问题。目前,我构建了一封电子邮件,其中包含有关包含错误的信息。
这是我使用的代码
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
问题是,在某些情况下,根据这些信息,我无法找出导致错误的原因。
我如何获得有关错误的更多细节?例如,什么控制导致它,变量中的数据在系统中传递
除了电子邮件之外,您还使用了哪些收集数据的方法以及它们的成功程度。例如登录数据库,在文本文件中重新编码等。
答案 0 :(得分:1)
例如,没有捕获所涉及变量的通用方法。当你收到错误时,你几乎要求转储!即便如此,您还必须弄清楚用户在发生错误之前所做的工作。您可以从IIS日志中获取一些帮助(如果它非空,您还应该记录Referrer URL)。
这个问题的真正答案很难:更好的质量保证。一旦你上线,发生的错误就越少,就越难以弄明白。
通过自动化单元测试,特别是使用测试驱动的开发,可以进一步降低质量保证中发现的错误数量。