无限debug的产生
条件说明
-
开发者工具是打开状态
-
js代码中有debugger
-
js有定时处理
setInterval(() => { (function (a) {return (function (a) {return (Function('Function(arguments[0]+"' + a + '")()'))})(a)})('bugger')('de', 0, 0, (0, 0)); }, 1000); #这里就是js中的定时块的代码
突破方法
-
关闭BreakPoint(不建议使用)
-
关闭定时任务
-
修改JS代码
setlnterval()方法会不停地调用函数,直到clearlnterval()被调用或窗口被关闭。
for (var i=0;i<999999;i++){window.clearInterval(i)}; #clearInterval()中传入的参数为setInterval()返回的id值,传入id值能够关闭定时任务。