我要坦白承认,出于纯粹的无知,我一直对我的网站视而不见,直到最近我用 Elmah 部署了一个网站。 (ASP.NET 的错误记录工具)和服务器上的 Controller ,用于发送所有未捕获的 JavaScript 异常。至少可以说,这是一次令人大开眼界的经历。
我的一个网站每天大约有 150-200 名访问者。大约每天一次,我会收到一个与此类似的 Elmah JavaScript 堆栈跟踪:
CCS.Exceptions.JavaScriptException: Unspecified error.: at document path
'http://www.*******.com/*****'. at anonymous('Unspecified error.',
'http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/jquery-ui.min.js', '5')
at anonymous()
总的来说,我对 JavaScript 和 Web 开发还比较陌生,所以我希望得到一些建议:
我应该如何找到此类问题的根本原因?对于调试生产中的问题(特别是 JavaScript)有什么建议吗?
按照重要性等级,您会将其排在什么位置?我意识到如果不了解我盘子里的一切,这个问题几乎不可能回答。但我希望得到的是关于优先考虑这类事情的建议。我的头发着火了吗?或者,“嗯,这真的很常见,考虑到现在所有的浏览器和操作系统,这种事情肯定会发生。”
最佳答案
很有可能这些异常中的每一个都是未按设计工作的网页。为了理解该优先级,您需要了解以下内容:
- 有多少百分比的网页浏览量受到影响?
- 具体的异常是什么,它们会造成什么麻烦?
- 这个麻烦对您的业务有多重要。
- 识别和修复这些问题需要多长时间?与您盘子里的其他项目相比,这对业务的重要性如何?
一般来说,如果不进行进一步研究,您将无法知道这些问题中的任何一个的答案,因此您要么必须决定所有未被完全理解的异常都是坏事,并且至少应该被理解。
或者,您必须决定启动调查项目以获取与这些问题相关的更多信息,然后决定是否解决它。
或者,您必须确定您只是没有听到足够多的网站问题报告以保证进行任何进一步的调查(我个人不喜欢这个选项,因为您猜测它不会事)。
在不了解您的业务的太多细节的情况下,我的建议是制定预算并计划一个调查项目,以了解这些错误的来源并了解它们对网站可用性的影响。根据手头的一些数据做出决定比猜测要好得多。
至于调试,最终还是要找出是哪一行代码触发了异常。您可能还想记录生成错误的浏览器配置(以防与浏览器版本相关的问题)。您可以先了解堆栈跟踪报告中的每条信息的含义以及它告诉您的内容,然后看看您是否可以在 Elmah 系统中启用更详细的异常跟踪。如果没有,并且您可以找出错误的大致来源,您可以实现自己的异常日志记录,它可能能够捕获更多信息。
您还可以浏览网站上的任何故障单报告,因为可能有一些关于网站问题的内部或外部报告可能与这些异常相关。
关于javascript - 如何处理生产中不常见(看似)随机的 JavaScript 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14371012/