用一堆javascript调试页面的方法

用一堆javascript调试页面的方法,javascript,debugging,google-chrome-devtools,firebug,Javascript,Debugging,Google Chrome Devtools,Firebug,我有一个更一般的问题,就是你通常如何在调试页面上使用大量javascript(主要是第三方插件)和事件观察者来发现问题行,在我的例子中,这会导致Chrome崩溃或Firefox冻结 我有一个带有许多外部依赖项的登录页:常见的可疑项,如jquery和bootstrap,还有许多附加项,如slider、re-size-watchers。当我重新调整尺寸时,Firefox会出现微冻结,Chrome会崩溃。这是来自任何代码块(最有可能是一些观察者) 页面崩溃后,我丢失了所有的开发工具数据。Firebug

我有一个更一般的问题,就是你通常如何在调试页面上使用大量javascript(主要是第三方插件)和事件观察者来发现问题行,在我的例子中,这会导致Chrome崩溃或Firefox冻结

我有一个带有许多外部依赖项的登录页:常见的可疑项,如jquery和bootstrap,还有许多附加项,如slider、re-size-watchers。当我重新调整尺寸时,Firefox会出现微冻结,Chrome会崩溃。这是来自任何代码块(最有可能是一些观察者)

页面崩溃后,我丢失了所有的开发工具数据。Firebug没有对脚本执行的时间控制,如果我从断点开始,我必须设置几十个断点

您通常如何继续识别导致问题的脚本以及更多代码块

如果我从断点开始,我必须放置几十个断点

我以前在InternetExplorer4/5上经常遇到这个问题。这些浏览器对内存的使用非常糟糕,几乎任何重大错误都会导致浏览器崩溃。甚至在此之前,浏览器调试工具比Chrome的差得多。那我做了什么?遗憾的是,
debugger
console.log

对于问题所在,您必须有一些想法,因此只要从确定代码工作的地方开始,在崩溃过程中的每一点添加
控制台.log
(如果您仍然可以看到日志)或
调试器
(如果您不能)。最终,您将无法使用其中一条调试语句,然后您将知道问题在该语句和前一条语句之间


我知道,这是一种非常蹩脚的调试方法,正如您所说,您必须添加许多调试语句,但有时这就是您所拥有的一切。

最基本的方法是分而治之(www上有许多示例)。是的,这是一个很好的开始。非常感谢。我完全理解,我看到它就像编织的鱼线。我以前遇到过这种情况,但通常脚本执行会完全冻结浏览器,然后我至少知道哪个文件包含脚本。现在这个问题很棘手,只会导致浏览器有点冻结(至少在我的机器上是这样),请记住,您不必一次添加所有调试语句。如果您认为问题可能出现在五个不同的地方,只需在每个地方添加一条调试语句。然后,一旦你弄清楚是哪个地方的错,你就可以添加更重的调试语句来确定它发生的确切位置。这样你就不必预先添加每一条调试语句。我正在考虑一块一块地剪切功能,直到问题消失,最后再放回去。这样,我将首先定义脚本文件。