Debugger.js
<script src="debuggap.js?192.168.26.14:11111" type="text/javascript"></script>
1 在页面引入 debugger.js?192.168.26.14:11111 后面的192.168.26.14:11111是请求服务端的 ip和端口号。
(偶尔会连接不上去,可以在连接后的config 中进行配置,ip和端口号 再进行连接)
2 启动 dubugGap.exe
3 连接成功 就可以在电脑端进行调试了。
注:引入了dubugGap.js后可以不开启可电脑端,在手机上既可以看log和element信息等。
debuggap可以支持单步调试,但是只能是android4.4以上的手机,还要用usb进行连接
Charles 调试bug
作用与功能是 抓包和代理
1 下载安装Charles
2 https 进行抓包需要安装证书,手机上也需要。具体见
http://blog.csdn.net/longlc123/article/details/56055782
http://www.jianshu.com/p/655600177673
http://www.tuicool.com/articles/JfEZr23
TBS studio
TBS studio
1)自动检测手机与PC的连接;
2)自动检测网页是否可进行Inspect调试;
3)自动引导开发者打开Inspector调试开关;
4)一键开启Inspector调试,无需打开浏览器输入URL,方便快捷;
5)扩展X5内核独有Inspect选项,方便页面分析和优化;
6)真机远程Inspector调试。
调试工具eruda
http://liriliri.github.io/eruda/
1 npm install eruda –save
2 页面添加
<script src="//cdn.jsdelivr.net/eruda/1.0.5/eruda.min.js"></script>
<script>eruda.init();</script>
调试工具Vconsole
https://github.com/long20150122/vConsole
1 npm install vconsole
2 页面添加
<script src="path/to/vconsole.min.js"></script>
<script>console.log('Hello world');// then tap vConsole button to see the log</script>
自己写的console.js
需在页面添加 (console.js 源文件在这无法上传,github上传代码后再给连接)
<script src="./resources/js/Console.js"type="text/javascript"></script>
调试工具 Spy-Debugger
https://github.com/long20150122/spy-debugger
微信调试,各种WebView样式调试、手机浏览器的页面真机调试。便捷的远程调试手机页面、抓包工具,支持:HTTP/HTTPS,无需USB连接设备。
关于spy-debugger
一站式页面调试、抓包工具。远程调试任何手机浏览器页面,任何手机移动端webview(如:微信,HybirdApp等)。支持HTTP/HTTPS,无需USB连接设备。
特性
1、页面调试+抓包
2、操作简单,无需USB连接设备
3、支持HTTPS。
4、spy-debugger
内部集成了weinre
、node-mitmproxy
、AnyProxy
。
5、自动忽略原生App发起的https请求,只拦截webview发起的https请求。对使用了SSL pinning技术的原生App不造成任何影响。
6、可以配合其它代理工具一起使用(默认使用AnyProxy) (设置外部代理)
使用案例
页面编辑模式
启动命令:
spy-debugger -w true
weiner页面调试界面
anyproxy抓包界面
安装
Windows 下
npm install spy-debugger -g
Mac 下
sudo npm install spy-debugger -g
三分钟上手
第一步:手机和PC保持在同一网络下(比如同时连到一个Wi-Fi下)
第二步:命令行输入
spy-debugger
,按命令行提示用浏览器打开相应地址。第三步:设置手机的HTTP代理,代理IP地址设置为PC的IP地址,端口为
spy-debugger
的启动端口(默认端口:9888)。
- Android设置代理步骤:设置 - WLAN - 长按选中网络 - 修改网络 - 高级 - 代理设置 - 手动
- iOS设置代理步骤:设置 - 无线局域网 - 选中网络 - HTTP代理手动
第四步:手机安装证书。注:手机必须先设置完代理后再通过(非微信)手机浏览器访问
http://s.xxx
(地址二维码)
安装证书(手机首次调试需要安装证书,已安装了证书的手机无需重复安装)。第五步:用手机浏览器访问你要调试的页面即可。
自定义选项
端口
(默认端口:9888)
spy-debugger -p 8888
设置外部代理(默认使用AnyProxy)
spy-debugger -e http://127.0.0.1:8888
spy-debugger内置AnyProxy提供抓包功能,但是也可通过设置外部代理和其它抓包代理工具一起使用,如:Charles、Fiddler。
设置页面内容为可编辑模式
该功能使页面内容修改更加直观方便。
(默认: false)
spy-debugger -w true
内部实现原理:在需要调试的页面内注入代码:document.body.contentEditable=true
。暂不支持使用了iscroll框架的页面。
是否允许weinre监控iframe加载的页面
(默认: false)
spy-debugger -i true
是否只拦截浏览器发起的https请求
(默认: true)
spy-debugger -b false
有些浏览器发出的connect请求没有正确的携带userAgent,这个判断有时候会出错,如UC浏览器。这个时候需要设置为false。大多数情况建议启用默认配置:true,由于目前大量App应用自身(非WebView)发出的请求会使用到SSL pinning技术,自定义的证书将不能通过app的证书校验。
是否允许HTTP缓存
(默认: false)
spy-debugger -c true
更多
修复
weinre
在node.js
V7版本会崩溃的bug对
weinre
在页面document ready
事件前,无法打印console.log日志进行了增强修复。增强
weinre
打印未捕获异常(Uncaught Exceptions)功能。spy-debugger
原理是集成了weinre
,简化了weinre
需要给每个调试的页面添加js代码。spy-debugger
原理是拦截所有html页面请求注入weinre
所需要的js代码。让页面调试更加方便。