干货!移动端真机调试指南,对调试说easy

大厂技术  高级前端  Node进阶

点击上方 程序员成长指北,关注公众号

回复1,加入高级Node交流群

前言

这么快就年终了,回顾2021年发现没干啥事,换了个城市,换了份工作,新公司新坑,现在主做Hybrid APP,那么年终就总结下移动端的调试方案来划划水吧🐰

移动端的真机调试,总结了下就大致就2种方法,要不就是网页面注入js脚本,劫持console、网络请求等,比如: vConsoleeruda等调试库。要不就是使用抓包工具劫持浏览器与服务器的请求,比如:Charles,下面分享下我使用过的方法。

1、alert大法

这有啥好说的,(⊙﹏⊙)
推荐指数0颗星

2、抓包工具CharlesFiddler

平时只用抓取各种网络,需要设置手机的wifi代理
推荐指数2颗星

3、vConsoleeruda等调试库

这个方法需要在页面中插入一段 JS 脚本,这里以vConsole为例,导入vconsole.min.js,并实例化,注实例化代码最好放在头部,以便能一开始就能劫持内容:

<script src="./vconsole.min.js"></script>
  <script>
    // 初始化
    new VConsole();
  </script>
复制代码

npm i vconsole
复制代码
import VConsole from 'vconsole';

new VConsole();
复制代码
3a5ad14571c5f7f35118ae32a847544e.png
image.png
1beb74df26ec40c4ddc432eb8b738a9d.png
image.png

优点:方便,可查看console、network、elements等;
缺点:css调试不友好,console会劫持consloe的打印,不能定位到打印的代码位置,需要额外加载js脚本

推荐指数3颗星

4、Chrome + Android

首先在chrome安装ADB Plugin
chrome中输入 chrome://inspect
通过数据线连接你的电脑和 Android 手机,打开USB的调试模式
就可以在上面的页面中看到自己的设备:

fc545668e9058bf0d51eb9b4e77f5734.png
image.png

点击inspect

然后就可以欢乐地调试了,和使用谷歌调试pc端一样,可惜ios不适用 推荐指数4颗星

5、Mac + IOS + Safari

打开手机点击设置 -> Safari浏览器 -> 高级

打开JavaScript和web检查器

cea1c74a458e6a9371d50087be9509aa.png
image.png

打开手机上的Safari,输入一个网址www.baidu.com[1]

在Mac上打开Safari,点击开发-iPhone lh-www.baidu.com,[2] 就可以看到以下页面

c0d81870f4e303fafca7d7039efd67d0.png
image.png
注:app的webview也可以使用这个方法,只需要让客户端同学打包个debug版本

只适用ios,而且需要mac,而且有个缺点,没有打开调试窗口时,webview的网络请求和console都不会记录,webview关闭,调试窗口会直接关闭。推荐指数4颗星

6、whistle

安卓、ios都能调试,跨平台、代理抓包、H5调试、debugger、请求劫持、HTTPS支持、WebSocket数据捕获等,功能非常强大。weinre是用node编写的,使用npm来进行安装
安装:

npm install -g whistle
复制代码

运行:

w2 start
复制代码
cc27982bd986848297f25f32f83831c8.png
image.png

跨平台、抓包、 DOMConsoleNetwork 等,功能非常强大。查看文档[3]
推荐指数5颗星

7、Mobile Debug

功能和whistle非常相似,我严重有理由怀疑Mobile Debug的开发者就是在whistle的基础上进行开发的。

`Mobile Debug`官网下载地址[4]

下载安装后

bc77b4e799920315beb3d7dfb76842be.png
image.png

抓包:

b108ff53e6e4c0af3131ae918856de65.png
image.png

网页调试:

a7030bfbb36d6b58ed2344f9c19ecb86.png
image.png

通过配置劫持规则将线上出bug的文件(如js)劫持到本地修改并调试:

656a81fb4a18fc6575491dc056abd0d8.png
image.png

需要把手机在同一个局域网wifi设置代理,便可使用,https需要增加安装证书步骤。

推荐指数5颗星

最后

3和7是我现在主要使用的方法,用这就能完全解决移动端的调试问题。

来自:咸鱼翻身翻两次

https://juejin.cn/post/7041049806562656293

Node 社群

我组建了一个氛围特别好的 Node.js 社群,里面有很多 Node.js小伙伴,如果你对Node.js学习感兴趣的话(后续有计划也可以),我们可以一起进行Node.js相关的交流、学习、共建。下方加 考拉 好友回复「Node」即可。

3635626a786fbafa67b48cbe061b9dd4.png

   “分享、点赞、在看” 支持一波👍

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值