Appearance
调试
代码调试
包括输出调试、日志调试和断点调试等,最主要的是学会断点调试,追踪函数调用站栈,分析代码执行过程
参考
移动端调试
参考:移动端真机调试
真机可以通过连接同一个wifi的方式,通过局域网ip直接访问本地开发环境。如果需要模拟真实域名,则可以结合switch host和 nginx代理来实现。
在真机环境下,可以通过USB连接电脑,然后通过chrome://inspect
进行真机调试,适用于大部分Android手机,iOS的话可以使用Safari的开发者模式。
在某些屏蔽了inspect的环境下(如第三方app的webview中),还可以通过eruda
等工具模拟PC端的开发者工具来实现调试
接口调试
接口调试一般都会问到如何抓包,抓包是接口调试必备的技能之一。常用的有
- 浏览器控制台的Network面板
- Chrome插件Postman,现在好像独立成一个桌面软件了
- Fiddler抓包
这里简单介绍一下Fiddler的使用。Fiddler类似于代理服务器,会记录当前电脑的所有网络通信,
- Fiddler设置,Tools-> Fiddler Options->Connections,勾选"Allow remote computers to connect" ,这里还可以设置端口号,Fiddler默认端口号为8888
- 修改网络代理,一般是手机电脑同时连接局域网,然后修改wifi代理,每种手机可能不尽相同,基本操作是
- 查看电脑在局域网中的ip地址,windows上使用ipconfig查看即可
- Android,选择wifi->显示高级设置->代理主机名(填写主机IP,及fiddler端口号)
- IOS,选择wifi->HTTP代理->手动->IP,端口号
fiddler中有两个常用的功能:
- hosts,在开发中有测试服务器和正式服务器之分,通过Hosts配置可以方便地在测试环境和正式环境切换
- filters,筛选网络请求列表
模拟数据接口
错误上报
调试本地环境一般比较容易,对于线上环境抛出的错误,一般就没那么容易定位了。可以使用sentry
之类工具上报错误,同时查看错误栈,降低线上错误的排查难度。