开发调试|青训营笔记

143 阅读4分钟

这是我参与「第四届青训营 」笔记创作活动的的第四天

一、Bug、Debug

1、Bug的产生(可能的)原因

①.需求表述、理解、编写引起的错误。

②.系统设计架构引起的错误。

③.开发过程缺乏有效的沟通及监督,甚至没有沟通或监督。

④.程序员编程中产生的错误。 ⑤.软件开发工具本身隐藏的问题。

⑥.软件复杂度越来越高。

⑦.与用户需求不符,即使软件实现本身无缺陷。

⑧.外界应用环境或电磁辐射导致的缺陷。

上述情况都可能产生缺陷,常见的缺陷分为以下4种情况。

1.遗漏 规定或预期的需求未体现在产品中,可能在需求调研或分析阶段未能将用户规格全部分析实现,也可能在后续产品实现阶段,未能全面实现。通俗而言,一是根本没记录需求,需求本身就遗漏了客户的原始需求,二是需求是齐备完整的,但在设计开发阶段,遗漏了某些需求。

2.错误 需求是正确,但在实现阶段未将规格说明正确实现,可能在概要、详细设计时产生了错误,也可能是编码错误,即有此需求,但需求实现与用户期望不一致。例如,排序功能,用户期望的是按价格升序排列,实现时却是降序排列。

3.冗余 需求规格说明并未涉及的需求被实现,即用户未提及或无需的需求,在被测对象中得到了实现,如用户未提及查询结果分类显示,但在实际实现中,却以不同类别进行了显示。 一般而言,冗余功能从用户体验角度来看,如果不影响正常的功能使用,则可以保留,除非存在较大应用风险。

4.不满意 除3种常见缺陷类型外,用户对实现不满意亦可称为缺陷。例如,针对中老年人的系统在设计开发过程中,采用了时尚前卫的界面、细小隽秀的字体,导致终端用户不适应、看不清,即使所有需求都得到了实现,但不符用户使用习惯,也是一种缺陷。

2、Debug特点

①多平台 ②多环境 ③多工具 ④多技巧

二、Score Tab

区域1:页面资源文件目录树

区域2:代码预览区域

区域3:Debug工具栏 从左到右依次位:

①暂停(继续) ②单步跳过 ③进入函数 ④跳出函数 ⑤单步执行 ⑥激活(关闭)所有断点 ⑦代码执行异常处自动

区域4:断点调试器

d00c5b5dbcc7d832f71629570df7560.jpg

三、NetWork

区域1:控制面板

区域2:过滤面板

区域3:概览区域

区域4:Request Table 面板

区域5:总结面板

区域6:请求详情面板

6e2de334fefe8a9ce402b1868343c70.jpg

四、Application

Application面板展示与本地存储相关信息

  • Local Storage
  • Session Storage
  • IndexedDB
  • Web SQL
  • Cookie

16cfd0a1d061e2d8eb314afb98e7f17.jpg

五、Performance

  • 区域1:控制面板
  • 区域2:概览面板 ①FPS:每秒帧数 ②CPU:处理各个任务花费的时间 ③NET:各个请求花费时间
  • 区域3:线程面板 ①Frames:帧线程 ②Main:主线程,负责执行Javascript,解析HTML/CSS,完成绘制 ③Raster:Raster线程,负责完成某个lyper或某些块(tile)的绘制
  • 区域4:统计面板

f658e7806e9f3dbf7995c2f1a50e259.jpg

六、真机调试

1、ios(在没有iPhone设备可在Mac App Store 安装Xcode使用其内置的ios模拟器)

①使用Lightning数据线将iphone与Mac 相连

②iphone开启Web检查器(设置 ->Safari ->高级 ->开启Web检查器)

③iPhone使用Safari浏览器打开要调试的页面

④Mac打开Safari浏览器调试(菜单栏 ->开发 ->iphone 设备名 ->选择调试页面)

⑤在弹出的Safari Developer Tools中调试

2、Android

①使用USB数据线将手机将电脑连接

②手机进入开发者模式,勾选USB调试,并允许调试

③电脑打开Chrome浏览器,在地址栏输入 :chrome://inspect/#devices 并勾选Discover USB devices选项

④手机允许远程调试,并访问调试页面

⑤电脑点击inspect按钮 ⑥进入调试界面

七、线上即时修改Overrides

  • 打开Sources面板下的Overrides
  • 点击Select folders for Overrides 选择一个本地的空文件夹目录
  • 允许授权
  • 在page中修改代码,修改完成后command+s保存
  • 打开devTools,点击右上角的三个小点 ->More tools ->Changes,就可以看到所有修改了

00a4596407fba63fe266c87ae73db8e.jpg

八、利用代理解决开发阶段的跨域问题

521864840202b641c464d726e1a8839.jpg

九、代理工具Mock数据

  • 右键选中要mock数据的接口,选择save response,保存文件到本地
  • 本地打开保存文件,编辑想mock的数据并保存
  • 右键选中第一步的接口,选择Map Local ,Local Path选择第二步的文件

abbd42c07009338cc4fab3e07cec975.jpg