使用一堆 javascript 调试页面的方法
Approach on debugging page with a bunch of javascript
我有一个更一般的问题,关于您通常如何使用大量 javascript(主要是第三方插件)和事件观察器来调试页面以发现有问题的行,在我的例子中,这导致了Chrome 崩溃或 Firefox 死机?
我有一个包含许多外部依赖项的登录页面:常见的可疑对象如 jquery 和 bootstrap,还有许多附加组件,如滑块、调整大小观察器。当我调整大小时,Firefox 出现微冻结,Chrome 出现崩溃。这是来自任何代码块(最有可能是一些观察者)。
页面崩溃后,我丢失了所有开发工具数据。 Firebug 没有对脚本执行的时间控制,如果我从断点开始,我必须放几十个。
您通常如何识别导致问题的脚本以及代码块?
If I start with breakpoints I have to put dozens.
我以前在使用 Internet Explorer 4/5 时经常遇到这个问题。这些浏览器对内存的使用非常糟糕,几乎任何重大错误都会导致浏览器崩溃。甚至在它出现之前,浏览器调试工具就比 Chrome 的工具差得多。那我做了什么?可悲的是,debugger
和 console.log
.
关于问题出在哪里,您一定有 一些 想法,所以只需从您确定代码正常工作的地方开始,然后添加 console.log
(如果您仍然可以看到崩溃前的日志)或 debugger
(如果不能)到崩溃途中的每个点。最终你不会进入你的调试语句之一,然后你就会知道问题出在该语句和前一个语句之间。
我知道,这是一种非常蹩脚的调试方式,而且正如您所说,您将不得不添加大量调试语句,但有时这就是您所拥有的全部。
我有一个更一般的问题,关于您通常如何使用大量 javascript(主要是第三方插件)和事件观察器来调试页面以发现有问题的行,在我的例子中,这导致了Chrome 崩溃或 Firefox 死机?
我有一个包含许多外部依赖项的登录页面:常见的可疑对象如 jquery 和 bootstrap,还有许多附加组件,如滑块、调整大小观察器。当我调整大小时,Firefox 出现微冻结,Chrome 出现崩溃。这是来自任何代码块(最有可能是一些观察者)。
页面崩溃后,我丢失了所有开发工具数据。 Firebug 没有对脚本执行的时间控制,如果我从断点开始,我必须放几十个。
您通常如何识别导致问题的脚本以及代码块?
If I start with breakpoints I have to put dozens.
我以前在使用 Internet Explorer 4/5 时经常遇到这个问题。这些浏览器对内存的使用非常糟糕,几乎任何重大错误都会导致浏览器崩溃。甚至在它出现之前,浏览器调试工具就比 Chrome 的工具差得多。那我做了什么?可悲的是,debugger
和 console.log
.
关于问题出在哪里,您一定有 一些 想法,所以只需从您确定代码正常工作的地方开始,然后添加 console.log
(如果您仍然可以看到崩溃前的日志)或 debugger
(如果不能)到崩溃途中的每个点。最终你不会进入你的调试语句之一,然后你就会知道问题出在该语句和前一个语句之间。
我知道,这是一种非常蹩脚的调试方式,而且正如您所说,您将不得不添加大量调试语句,但有时这就是您所拥有的全部。