码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • chrome工具调试


    项目调试的困境

    程序开发总会遇到各种各样的问题,为什么实际结果和预期结果不一致?
    这个时候如果能深入程序内部抽丝剥茧去一探究竟再好不过!
    而chrome工具是前端开发的杀手锏,经常听到的一句话是:
    出问题了?F12看看...
    前端调试的手法一般就两种:

    1. 服务端(添加调试代码)
    2. 客户端(开发者工具)
      对于简单的页面来说,都能很快的找到问题所在
      面对大型的网站项目(react、vue),页面成千上万的组合嵌套。
      很多页面很多相似的按钮,当我们接受一份项目代码,如何快速的定位bug所在页面?
      如果从项目结构上层层递进,不仅项目时间不允许,而且容易陷入代码的海洋!
      如果从页面断点入手,现在的前后端分离项目,代码经过编译,面对一串编译压缩后的字串,如同天书!
      怎么办?客户和领导就在身后,问题解决完才能下班?怎么能早点回家吃口热饭?

    chrome调试工具常用功能介绍

    image

    一、Elements(元素)

    • Styles(样式)
      image

    • 说明:选中元素的自身样式、继承样式等,可以手动修改进行调试

    • 场景:手动修改选中元素样式、选中元素添加断点调试

    实战1.1 修改元素样式

    image

    实战1.2 排查样式来源

    image

    实战1.3 查看元素事件

    image

    二、Console(控制台)

    • 说明:进行简单的变量输出调试、服务端添加输出信息等
    • 场景:debug过程种的变量输出查看、服务端调试信息输出

    三、Source

    • 说明:网站的源代码,包含html、css、js、debug
    • 场景:源码断点调试、dom断点、事件断点

    实战3.1 添加代码断点

    image

    断点添加方式

    • Elements选中元素,右键添加dom事件
    • debug面板,添加鼠标、键盘等事件(见下图)

    实战3.2 断点调试

    image

    技巧1:添加鼠标、键盘事件后,调用堆栈首先看到的框架源码,怎么快速进入自己的源码?

    • 忽略框架代码,这样就可以进到自己编写的事件处理方法里边
      image

    技巧2:大型项目,如何快速拦截包含某种关键字的api,以快速定位代码位置?

    • 在XHR/fetch Breakpoint里添加/api/test关键字匹配串,这样就会拦截所有包含该关键字的api请求
      image

    实战3.3 tooltip鼠标移开就没了,如何调试?

    • 前端使用setTimeout调试代码的小技巧

    四、Network

    • 说明:网站发起的所有远程请求信息详情
    • 场景:请求信息详情(header、param、body等信息)

    技巧1:大型项目,某一个请求报错,如何快速定位请求的源码js位置?

    • 查看initiator面板的请求堆栈信息,找到对应的源码发起位置
      image

    五、Application

    • 说明:cookie、session、localStorge等存储数据的位置
    • 场景:查看cookie的失效时间、编辑localStorge存储的键值对

    其它的页签不常用,在本文不做介绍。

  • 相关阅读:
    web前端期末大作业:JavaScript大作业——福五鼠动漫网页制作(6页)带轮播图效果 学生个人单页面网页作业 学生网页设计成品 静态HTML网页单页制作
    想要精通算法和SQL的成长之路 - 二叉树的序列化和反序列化问题
    视频剪辑调色软件推荐—DaVinlve Studio 18(达芬奇18)
    DEPRECATION: The default format will switch to columns in the future
    基于Python的豆果网食谱数据爬取及可视化分析系统
    云课五分钟-05一段代码修改-AI修改C++
    配置web&数据库开发环境
    【Postman】Postman+国密SM2+https协议+Api接口获取sign和token解决方法(特定项目参照用,莫照搬)
    数据库-理论基础
    CSS篇十——(3)
  • 原文地址:https://www.cnblogs.com/hackxiyu/p/16866683.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号