断点调试

 

1.断点调试是啥?难不难?

断点调试其实并不是多么复杂的一件事,简单的理解无外乎就是打开浏览器,打开sources找到js文件,在行号上点一下罢了。操作起来似乎很简单,其实很多人纠结的是,是在哪里打断点?

2.断点怎么打才合适?

打断点操作很简单,核心的问题在于,断点怎么打才能够排查出代码的问题所在呢?

3.控制台图标示例

20190201-1.png
button-0.png  Resume script execution:恢复断点调试、常用在一个方法调用多个js文件(适用冗长js代码使用)、点击这个会直接跳转到下一个断点(逐过程执行)
button-1.png  Pause script execution:停止断点调试
button-2.png  step over next function call:逐语句执行,每点击它一次,js语句就会往后执行一句,快捷键-F10
button-3.png  step into next function call:进入函数内部、单步执行下一个函数调用
button-4.png  step out of current function call:跳出当前函数调用
button-5.png  Step:快捷F9
button-6.png  Deactive breakpoints:停用断点
button-7.png  Pause on exceptions:暂停断点

4.打断点的思路:​

在实际情况下,我们应该养成拿到问题的第一时间,自行在脑海中排查问题,找到最有可能出现问题的点,如果没办法迅速的排查出最重要的点,那么你可以使用最麻烦但是很靠谱的方法,利用“逐语句执行”按钮将整个和问题相关的js依次去执行一遍,在执行的过程中,自己也跟着理清思路,同时注意下每个变量的值以及选择器选中的元素是否正确,一般来说,这样做一遍下来,bug都解决的差不多了。

 

5. 打断点调试

  1. 打断点首先找到入口事件,在函数内部打,不要在外部打断点
  2. 打完断点之后,刷新页面,触发入口事件
  3. 执行到最底层时:执行栏显示为灰色无法点击
  4. 调试过程中:具体看某个变量的系数就把鼠标放在上面

6.不打断点调试

1.没打断点的情况下,点击入口函数,再点击 按钮进入了函数内部。
2.通过 按钮不断按函数顺序执行,每次执行函数之后都能看到相应函数的含义,直到函数执行结束。

20190201-13.png

 

 

7.有无打断点的区别

1.没打断点时在console输入i,i只是一个局部变量,浏览器会把所有的js全部解析完成,console并不能访问到局部变量,只能访问到全局变量,所以console会报错i未定义。
2.当js打上断点时,console解析到了局部变量i所在的函数内,这时i能够被访问。

posted @ 2020-10-07 13:30  小昱同学  阅读(504)  评论(0编辑  收藏  举报