我有一个更普遍的问题,关于你通常如何使用大量 javascript(主要是第三方附加组件)和事件观察器来调试页面来发现有问题的行,在我的例子中,这会导致 Chrome 崩溃或 Firefox 崩溃卡住?
我有一个包含许多外部依赖项的登陆页面:常见的依赖项,如 jquery 和 bootstrap,但也有许多附加组件,如 slider 、调整大小的观察程序。当我调整大小时,Firefox 上会出现微卡住,Chrome 上会崩溃。这是来自任何代码块(很可能是一些观察者)。
页面崩溃后,我丢失了所有开发工具数据。 Firebug 没有对脚本执行的时间控制,如果我从断点开始,我必须放置数十个断点。
您通常如何继续识别导致问题的脚本以及代码块?
最佳答案
If I start with breakpoints I have to put dozens.
我以前在使用 Internet Explorer 4/5 时经常遇到这个问题。这些浏览器对内存的利用非常糟糕,几乎任何重大错误都会导致浏览器崩溃。甚至在此之前,浏览器调试工具就比 Chrome 差得多。那么我做了什么?遗憾的是,debugger
和 console.log
。
对于问题所在,您必须有一些想法,因此只需从确定代码正常工作的地方开始,然后添加 console.log
(如果您仍然可以看到崩溃之前的日志)或调试器
(如果看不到)崩溃过程中的每个点。最终您将无法执行其中一个调试语句,然后您就会知道问题出在该语句和前一个语句之间。
我知道,这是一种非常蹩脚的调试方式,正如您所说,您必须添加大量调试语句,但有时这就是您所拥有的全部。
关于javascript - 使用一堆 javascript 调试页面的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41250775/