前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >反调试问题-debugger

反调试问题-debugger

作者头像
老肥码码码
发布2020-01-17 15:05:06
1.6K0
发布2020-01-17 15:05:06
举报

最近在爬取某个网页时,发现了一种奇怪的现象。在打开浏览器进入所要爬取的网页之后,我们通常会选择F12即打开开发者工具来对网页进行分析。但这个页面一打开控制台就不断的debugger,无法正常观察Network。

虽然这个代码简单,但是却很有效。该匿名函数不停地打断我们,阻止我们观察网页,并且不断的产生不可回收的对象,占据我们的内存,造成内存泄漏,没过多久浏览器就会卡顿,甚至需要用任务管理器强行结束任务。

那我们如何来解决这个问题呢?

相对应的,我们也有一种简单有效的方法,那就是禁止断点,具体操作是点击Deactive breakpoints,或者Ctrl+F8 即可(下图右上角的蓝色箭头)。

禁用断点之后,这种不断debugger的反调试问题也得到了解决,我们可以正常观察Network。但是要命的是,我们如同因噎废食,断了调试这条路。禁用了断点,我们也没有办法进行断点调试了。

当然我们还有一些其他的办法可以处理debugger问题。目标就是既能阻止网页不停地debugger,也能让我们在网页上进行断点调试

方法一

添加条件断点,具体操作如下图,在debugger的位置选择添加条件断点,并输入false。

方法二

下载这个含有debugger的js文件到本地,将debugger代码除去,使用抓包工具Fiddler替换js文件,具体的操作可以见这篇文章

这个替换的js文件是去除debugger之后的js文件。这样我们就解决了某些网页的debugger问题。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与数据之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档