[Web调试技术|青训营笔记]

86 阅读2分钟

这是我参与「第五届青训营」伴学笔记创作活动的第10天。今天开始了有关Web调试技术方面的学习。

BUG产生

image.png

前端DeBug特点

  • 多平台:浏览器、Hybrid、Nodejs、小程序
  • 多环境:本地开发环境、线上环境
  • 多工具:Chrome devTools、Charles、Spy-Debuger
  • 多技巧:Console、BreakPoint、sourceMap、代理

PC端调试

chrome

  • 动态修改元素和样式(elements)

image.png

  • console(字符串是灰色,数字是蓝色)

image.png

  • Sorce Tab(sources展示项目的源代码)

image.png

  • Break Point与Watch
    • debugger或点击行号可以设置断点,暂停代码,进入调试
    • 暂停状态下,鼠标hover可以展示变量值或者使用右侧watch查询变量值
    • 通过breakpoints勾选或取消可以实现断点的激活或禁用
  • Scope与Call Stack
    • 展开scope可以查看闭包,展开Call Stack可以查看当前JS代码的调用栈
  • Source Map(出于安全考虑,代码上线后会被压缩)
    • 带source map,则体积大,影响性能
    • 不带source map,则上线后无法调试
    • 应用场景:监控
    • 打包时的产物带source map,上线前上传到监控平台,删除产物中的source map,再上传
  • NetWork

可以模拟弱网,进行性能调试

  • Application
  • Performance(页面卡顿后查看Fbs指标,寻找性能瓶颈,后优化代码)

image.png

  • Lighthouse

image.png

移动端调试

移动端H5调试

  • 真机调试
  • Vconsole
  • 代理工具调试(常用代理工具:Charles、Fiddler、spy-debugger、Whistle)

Node.JS调试

  • Inspector Protocol + Chrome Devtool
  • Inspector Protocol + VSCode

常用开发调试技巧

  • 线上及时修改Overrides
  • 利用代理解决开发阶段的跨域问题
  • 启用本地Source Map
  • 使用代理工具Mock数据

个人小结

今天课程中学到了许多有关Chrome DevTools的调试技巧以及其他不同端的调试方法,激发对未来有关断点调试、性能优化相关工作的兴趣。