原文地址: http://www.cnblogs.com/aqiongbei/p/8018053.html
其实我也不太确定是不是反调试,但是他阻止我看他代码了,那就是反调试,姑且这么称呼吧。
问题复现
一次扒某网站的前端代码,打开控制台要看Network,结果发现他们页面一打开控制台就不断的debugger
,100ms
一次,很影响看页面内容。就像下面这样的
问题分析
每次在断点处停下来的时候页面都会跳到source
这个tab页面,也能够看到他的debugger
的代码,其实他的实现很简单,只有这一行代码
(function() {var a = new Date(); debugger; return new Date() - a > 100;}())
虽然简单,但是却很有效。
- 不停地打断你,页面跳到source页面,阻止你看他代码不
- 断的产生不可回收的对象,占据你的内存,造成内存泄漏,没过多久浏览器就会卡顿
所以他带来的影响还是挺大的,我们需要解决这个问题。
问题解决
这个问题解决起来还是蛮简单的,问题解决只需要一句话:禁止断点。
而对应的操作是在Chrome控制台
的Source Tab页
点击Deactivate breakpoints
按钮或者按下Ctrl + f8
(下图)。
这样就能禁用断点了,问题就得到了解决,但是当你需要调试的时候记得要起他哦。很简单的操作,但是你如果对Chrome控制台调试
不熟悉的话还是比较头疼的。在这里记录一下,分享给更多的人。