无限 debugger 问题的解决

这几天碰到了一个网站,打开 F12 直接 debugger ,点击下一步,一直 debugger什么都做不了。

无限 debugger 问题的解决

然后就开始百度,看大家怎么解决的。基本上大多数都是通过查看调用栈,找到调用函数的地方,然后在 console 中重写这个函数。

但是不知道大家有没有遇到一种情况,重写是没用的,重写完之后再次点击下一步,或者关闭 F12 后,打开还是 debugger 的,还是不可以打断点。所以也就没啥用,或者就是我没找对地方。

解决办法:

使用抓包工具,注入修改过的 js。

查看调用栈,找到前端 debugger 的位置,一般都是定时任务 setInterval 执行匿名或者有名字函数实现,将这个 js 复制出来,然后将定时执行函数的地方注释掉就行。

无限 debugger 问题的解决

直接搜索 setInterval ,查看里面执行的方法,然后将所有执行到这个函数的地方全部注释掉。将执行 s 函数的全部注释掉就行了。

需要注意的地方就是,有时候 js 已经缓存到本地了,然后使用抓包工具时找不到这个 js 的请求。这时候需要点击一下下面这个地方。然后刷新就可以了。然后抓包工具中就看到这个 js 了

无限 debugger 问题的解决

打开 charls, 点击 tools -> map local, 然后点击添加。填入相应的内容。

无限 debugger 问题的解决

无限 debugger 问题的解决

然后刷新之后,页面的 debugger 就没了,你也可以继续打断点了。

不过在这个网站 debugger 中还有一个问题,它的 js 名字一直是动态变化的,每次都不一样,所以如果写死的话,就没用了。需要根据规则去匹配这个东西。但是 charles中的这个好像不能做设置了,具体也没查,如果可以的话记得留言告诉我一声。

可以使用一个谷歌插件来解决这个问题。reres 插件

无限 debugger 问题的解决

点击详细信息,配置可以访问本地文件

无限 debugger 问题的解决

点击添加规则,增加匹配的规则,与本地修改后的 js,点击保存

无限 debugger 问题的解决

重新去请求,就解决了。完成!


补充一下:

好多的 debugger 还是挺好过的,文书的 直接 false 就可以了

无限 debugger 问题的解决

无限 debugger 问题的解决

相关文章: