我有一个更普遍的问题,关于你如何通过大量的javascript(主要是第三方加载项)和事件观察者来调试页面,以发现有问题的行,在我的情况下会导致Chrome崩溃或Firefox到冻结?
我有一个包含许多外部依赖项的登录页面:常见的嫌疑人,如jquery和bootstrap,还有许多附加组件,如滑块,重新调整大小的观察者。当我重新调整大小时,Firefox上会出现微冻结,Chrome上会出现崩溃。这来自任何代码块(最有可能是一些观察者)。
页面崩溃后,我丢失了所有开发工具数据。 Firebug没有对脚本执行的时序控制,如果我从断点开始,我必须放几十个。
您通常如何继续识别导致问题的脚本以及更多代码块?
答案 0 :(得分:2)
如果我从断点开始,我必须放几十个。
我曾经多次使用Internet Explorer 4/5解决这个问题。这些浏览器对内存的使用很差,几乎任何重大错误都会导致浏览器崩溃。甚至在此之前,浏览器调试工具远比Chrome更糟糕。那我该怎么办?可悲的是,debugger
和console.log
。
您必须拥有一些想法或想法,以确定问题所在,所以只需从您确定代码正常工作的地方开始,然后添加console.log
(如果可以的话)仍然看到崩溃的日志)或debugger
(如果你不能)到崩溃的每个点。最终你不会将它发送到你的一个调试语句,然后你就会知道问题出现在那个语句和前一个语句之间。
这是一种非常蹩脚的调试方式,我知道,正如你所说,你必须添加很多调试语句,但有时它只是你所拥有的。