为一个用户生成ASP.NET webapp错误,无法在开发中重现 – 如何调
我继承了面向asp.net Web应用程序的客户,客户可以将文件上传到我们的文件服务器.除一个人外,它适用于所有用户.两周前,她试图上传文件并收到以下错误:
该错误继续描述哪行代码导致错误.但是,这是在我们的生产,外部环境和我关闭调试.所以这个信息,我假设是或多或少的下铺(错误报告的代码行真的对我来说没有意义,因为它是错误的原因). 我知道正在访问的内容为null,但我无法在我的开发环境中重现该错误,并且它对我们的其余用户群也可以正常工作.同一个用户在两周前遇到了错误,然后昨天又用另一个文件再次尝试并收到了同样的错误. 我知道这一切听起来都很模糊,但我想我的问题是,是否有人对如何跟踪用户执行错误有任何好的想法,这样我才能准确了解哪一行代码真的导致它?就像我说的那样,我无法在开发,生产,内部,外部重现错误,也没有其他用户遇到过问题.我唯一的想法是向面向客户的生产站点发布调试版本,但我真的不想这样做.谢谢! 解决方法
>您确定您在异常中获得的信息是错误的吗?做出这个假设是如此容易,我们都已经做到了,只有当你花了一点时间看它时才被证明是错误的.
>确保已部署PDB(调试符号).即使站点是在“Release”中构建的,您仍然可以将它们推出,而不是“Debug”,以确保在堆栈跟踪中获得适当的行号. >确保部署匹配的.PDB文件,不匹配的文件将没有任何用处. >在日志代码中添加一些额外的工具,使用类似log4net的东西(不要编写自己的日志系统 – 其他人比你更好,或者我!)在遇到的区域周围记录尽可能多的状态问题. >使其可以根据配置设置打开或关闭日志记录. log4net可以很容易地做到这一点.>确保您的日志记录代码在使用它们之前检查它检查的所有对象是否为null,因此您最终不会因日志记录代码而导致NullReferenceException. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 在创建cookie时,如何指定www而不是www cookie?
- asp.net-mvc – Unity PerRequestLifetimeManager在不同请求
- asp.net – 我应该如何使用Identity 2.0和WebAPI 2.1以及Ow
- asp.net – 可以添加一个String.contains多个值吗?
- asp.net-mvc – 测试使用DbContext的存储库的最佳方法
- 从app_data中删除文件夹时如何防止asp.net重新编译?
- asp.net 工具
- asp.net-mvc – MVC @ Url.Content vs @ Url.Action
- asp.net-mvc-4 – 重定向到动作,参数在mvc中始终为空
- 删除时jQGrid主键问题
- asp.net – 有关iPhone网站优化的帮助
- .NET Framework 3.5中有哪些有用的新ASP.NET功能
- asp.net-mvc – 自定义HtmlHelper扩展方法在View
- asp.net-mvc – ASP.NET MVC2和MemberShipProvid
- 绘制图表到ASP.NET MVC 4(Razor,C#)网站
- asp.net-mvc – 在typescript和knockout中使用vi
- asp.net-mvc – Ajax.ActionLink使用背景不透明度
- 如果我应该开始使用asp.net mvc 4而不是asp.net
- asp.net-mvc – @ Html.ValidationSummary是否适
- asp.net-mvc – 使用单元测试在asp.net mvc中验证