这才是 Chrome 控制台的正确使用方法!太重要了!

article/2025/9/28 18:32:07

Chrome 控制台是很多开发者的必备工具之一,但你真的掌握了它的精髓吗?是否还是全靠 console.log() 排查问题?

其实,控制台的功能远比这更强大,用好控制台,能帮助我们更加准确高效地发现问题、定位问题,让 bug 无所遁形。

今天就同大家分享一下我自己常用的 Chrome 控制台调试功能及使用方法,希望能帮助大家的 Cocos Creator 项目在 Chrome 控制台更好地进行调试。限于篇幅,本文仅提炼了重点内容,更像是一个目录索引,详细的功能介绍和使用方法均写在论坛专贴中,点击文末【阅读原文】即可前往查看。

PART 1

Chrome 调试基础

1.1 在任何网页上运行 JavaScript 的代码片段

  • 个人理解就是可以替代 bookmarklet 来使用。

  • 代码片段是在源工具中创作的脚本。代码段有权访问网页的 JavaScript 上下文,并且您可以在任何网页上运行代码段。

  • 代码段是 bookmarklet 的替代方法,区别在于代码段仅在 DevTools 中运行,并且不限于 URL 的允许长度。

b807b09766c1ed6e9edf6a51a996595f.png

示例如图。感觉更方便,可以自由保存,可以换行格式化代码。

1.2 调试 JavaScript 入门

  • 事件侦听器断点,可以自动断点调试,断点时建议开启 Pause on exceptions。

  • 示例如下图,自动监听用户点击事件,然后断点。Pause on exceptions 自动报错断点可以追踪代码错误然后自动断点。

918c6ea46de51c759a9fe5d7c961f940.jpeg

242f6293ab237a4a8861836d2c2765b0.png

1.3 使用实时表达式监视 JavaScript 中的更改

  • 添加新实时表达式,点小眼睛,输入表达式。

888c56802aa01f6c045892c241cf6a93.jpeg

1.4 分析运行时性能

使用 DevTools 性能工具,通过 Performance 面板在页面上查找性能瓶颈。

  • 模拟移动 CPU,可以用于模拟 iOS 的环境,非常方便测试(建议使用)。与台式机和笔记本电脑相比,移动设备的 CPU 功率更小。每当你分析页面时,都可使用 CPU 节流来模拟页面在移动设备上的表现。

  • 记录运行时性能,可以监测代码 Long Task 耗时的地方(建议使用)。运行优化版本的页面时,蓝色图标会移动得更快。为什么?两种版本都应该在相同的时间内将图标移动相同的空间。在性能工具中录制,了解如何检测未优化版本中的性能瓶颈。

  • 记录运行时性能,可以监测+分析每秒帧数(建议使用)。测量任何动画性能的主要指标是每秒帧数 (FPS) 。当动画以 60 FPS运行时,用户会觉得很享受。

  • 打开 FPS 计数,可以监测+分析每秒帧数(建议使用)。

  • 控制台录制 Performance 后查找瓶颈(建议使用)。测量并验证动画运行不佳后,下一步是回答「为什么?」这一问题。

  • 控制台录制 Performance 后分析运行时性能。

137b4f6b75b6ec8b6327bf5f083d9470.png

Performance 面板

1.5 在控制台中运行 JavaScript,简单执行(个人比较常用)

  • 在控制台输入简单的代码。可以在控制台中输入任何 JavaScript 表达式、语句或代码段,并且它会在键入时立即以交互方式运行。

  • 在控制台编写复杂表达式的自动完成(写 Cocos 的代码也会有自动代码提示)。控制台可帮助你使用自动完成编写复杂的 JavaScript。此功能是了解以前不知道的 JavaScript 方法的一种好方法。

b70498ae6586d26f6305195cf37d9250.png

控制台输入 Cocos 的代码

  • 控制台查看历史记录。之前输入的代码也能也能找到和导出,此外控制台还提供了很多实用应用程序,简化我们的工作。

  • 控制台多行编辑。默认情况下,控制台只提供一行来编写 JavaScript 表达式。如果在控制台中启动多行语句,将自动识别代码块并缩进。

  • 控制台使用顶级 await () 的网络请求。除了在你自己的脚本中, 控制台还支持顶级 await 在它内运行任意异步 JavaScript。

1.6 性能功能参考

如何使用性能工具分析页面性能?此处总结了30余个本人常用的 DevTools 性能功能,论坛中有详细的分步使用教程。

  • 记录性能:

    记录运行时性能、记录加载性能、录制时捕获屏幕截图、录制时强制收集垃圾、显示录制设置、禁用 JavaScript 示例、在录制时限制网络、录制时限制 CPU、启用高级画图检测工具

  • 保存录制内容

  • 加载录制

  • 清除上一记录

  • 分析性能录制:

    选择录制的一部分、搜索活动、查看主线程活动、查看表格中的活动(根活动、呼叫树选项卡、自下而上面板、事件日志面板)、查看 GPU 活动、查看光栅活动、查看交互、分析每秒帧数 (FPS)(FPS 图表、帧部分)、查看网络请求、查看内存指标、查看部分录制的持续时间

PART 2

使用 RAIL 模型衡量性能

RAIL 是一种以用户为中心的性能模型,它提供了一种考虑性能的结构。该模型将用户体验分解到按键操作(例如点击、滚动、加载)中,帮助您为每个操作定义性能目标。

RAIL 代表 Web 应用生命周期的四个不同方面:响应、动画、空闲和加载。用户对这些上下文分别有不同的性能期望,因此,性能目标是根据上下文以及用户如何感知延迟的用户体验研究来定义的。

c3bd5735f5b514da95e3d8a1ccd7b433.png

RAIL 将用户作为性能工作的关键点。下表介绍了用户如何感知性能延迟的关键指标:

0b2da38cce89b0cdfc29b6befc40afeb.png

用户对性能延迟的感知有所不同,具体取决于网络条件和硬件。例如,通过快速 Wi-Fi 连接,在功能强大的台式机上加载站点时,通常只需不到1秒时间,用户已经习以为常。通过速度较慢的 3G 网络连接,在移动设备上加载站点则需要更长的时间,因此,移动用户通常会更有耐心。在移动设备上,5秒钟内完成加载是更现实的目标。

2.1 响应:在50毫秒内处理事件

目标:在100毫秒内完成由用户输入发起的转换,让用户感觉交互是即时的。

准则 :

  • 为了确保在100毫秒内产生可见响应,需要在50毫秒内处理用户输入事件。这适用于大多数输入,例如点击按钮、切换表单控件或启动动画。但是,这不适用于触摸拖动或滚动。

  • 尽管听起来可能有些自相矛盾,但是,即时响应用户输入并非总是正确的做法。您可以利用这100毫秒的时间窗口来执行其他需要消耗大量资源的工作,但是,注意不能妨碍用户。如果可能,应在后台工作。

  • 对于需要50毫秒以上才能完成的操作,请随时提供反馈。

为什么我们的预算只有50毫秒?这是因为除输入处理外,通常还需要执行其他工作,而且这些工作会占用可接受输入响应的部分可用时间。如果应用程序在空闲时间以推荐的50毫秒区块执行工作,这就意味着,如果输入在这些工作区块之一中发生,它最多可能会排队50毫秒。考虑到这一点,假设只有剩余的50毫秒可用于实际输入处理才是安全的做法。下图展示了这种影响,图中显示了在空闲任务期间收到的输入如何排队,从而减少可用的处理时间:

c120809ee10ded0b7daaf0d0db6d958d.png

空闲任务如何影响输入响应预算

2.2 动画:在10毫秒内生成一帧

目标:

  • 在10毫秒或更短的时间内生成动画的每一帧。从技术上来讲,每帧的最大预算为16毫秒(1000毫秒/每秒60帧≈16毫秒),但是,浏览器需要大约6毫秒来渲染一帧,因此,准则为每帧10毫秒。

  • 目标为流畅的视觉效果。用户会注意到帧速率的变化。

准则 :

  • 在动画之类对计算速度要求极高的场景下,关键在于即使可行,您也不能执行任何其他操作,让不能执行的操作保持绝对最少。只要可能,您就要利用这100毫秒的响应时间预先计算最消耗资源的工作,从而最大限度地提高达到 60fps 的几率。

  • 有关各种动画优化策略,请参阅渲染性能。

2.3 空闲:最大限度增加空闲时间

目标:最大限度增加空闲时间以提高页面在 50 毫秒内响应用户输入的几率。

准则 :

  • 利用空闲时间完成延缓的工作。例如,对于初始页面加载,应加载尽可能少的数据,然后利用空闲时间加载其余数据。

  • 在 50 毫秒或更短的空闲时间内执行工作。如果时间更长,您可能会干扰应用在 50 毫秒内响应用户输入的能力。

  • 如果用户在空闲时间工作期间与页面交互,则应中断空闲时间工作,用户交互始终具有最高优先级。

2.4 加载:在5秒内交付内容并实现可交互

当页面加载缓慢时,用户注意力会分散,他们会认为任务已中断。加载速度快的网站具有更长的平均会话时间、更低的跳出率和更高的广告可见性。

PART 3

控制台代码

最后补充一些进阶「黑科技」!我们可以运用代码更好更快地操作控制台,以下是我个人常用的几个功能,对应代码见论坛专贴。

  • 使用 console.logconsole.error & console.warn 等,将输出到控制台的信息进行分类整理

  • 再配合 console.group & console.groupEnd,可以将这种分类管理的思想发挥到极致

  • 关于 console.log,Chrome 提供了这么一个 API:第一个参数可以包含一些格式化的指令比如 %c

  • 直接以表格的形式将数据输出:console.table

  • 条件判断输出日志:console.assert

  • 计数日志:console.count

  • 数据树形输出:console.dir

  • 函数执行时间计算输出:console.time & console.timeEnd

  • 查看 CPU 使用相关信息:console.profile & console.timeLime

  • 堆栈跟踪相关的调试:console.trace

  • 控制台自带的内容:$_

  • 复制控制台的数据结构:copy

  • 对象操作:keys & values

  • monitor & unmonitormonitor(function),它接收一个函数名作为参数,比如 function a,每次 a 被执行了,都会在控制台输出一条信息,里面包含了函数的名称 a 及执行时所传入的参数。而 unmonitor(function) 便是用来停止这一监听。

  • debug & undebugdebug 同样也是接收一个函数名作为参数。当该函数执行时自动断下来以供调试,类似于在该函数的入口处打了个断点,可以通过 debugger 来做到,同时也可以通过在 Chrome 开发者工具里找到相应源码然后手动打断点。而 undebug 则是解除该断点。

具体的使用方法和更多功能介绍请点击【阅读原文】前往论坛专贴查看,欢迎大家查漏补缺。

参考链接:

Microsoft Edge Development

https://docs.microsoft.com/zh-cn/microsoft-edge/devtools-guide-chromium/

使用 RAIL 模型衡量性能

https://web.dev/rail/?utm_source=devtools#goals-and-guidelines


http://chatgpt.dhexx.cn/article/NbNLcVbH.shtml

相关文章

chrome控制台功能

Chrome开发者工具面板 面板上包含了Elements面板、Console面板、Sources面板、Network面板、 Timeline面板、Profiles面板、Application面板、Security面板、Audits面板这些功能面板。 这些按钮的功能点如下: Elements:查找网页源代码HTML中的任一元素,手动修改任…

Chrome的控制台(Console)的用法(超详细,还未细看)

为什么写了本篇博客: (1)在Chrome浏览器开发者工具介绍;(包括,Network面板介绍,XHR等等)中,遇到了Chrome的控制台(Console);本篇博客就…

【前端新学必入】浏览器控制台的使用

1.选择一个页面按F12键或者(以谷歌浏览器为例,其实浏览器都大同小异)选择右上方的设置旁边的三个点——>更多工具——>开发者工具 进入。 2.常用的五个以及其对应的功能: element:爬网站,把网站复刻一遍 consol…

3、浏览器控制台使用

2.2、基本语法入门 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>Title</title></head><body><script>//1. 定义变量 变量类型 变量名 变量值;var score 71;//alert(sco…

浏览器控制台(console对象)

目录 开发者工具console对象console.log方法其他输出方法:debug,info,warn,error方法console.table方法console.assert方法time和timeEnd方法分组方法:group和groupend其他方法命令行APIdebugger语句移动端开发模拟手机视口(viewport)模拟touch事件模拟经纬度远程除错Go…

前端新人必看的开发技巧之浏览器控制台

随便进入一个网页&#xff0c;按下F12&#xff0c;都将看到如下的控制台 一、HTML调试 你可以对HTML标签做任何操作&#xff0c;修改它&#xff0c;移动它&#xff0c;删除它 快速定位深层元素 HTML带来的启发 在网页上抓取想要的图片&#xff1a; 抓取背景图片 有些图片…

谷歌浏览器--控制台(console)调试--使用/教程/实例

原文网址&#xff1a;谷歌浏览器--控制台(console)调试--使用/教程/实例_IT利刃出鞘的博客-CSDN博客 简介 说明 本文用示例介绍浏览器使用控制台&#xff08;console&#xff09;调试前端的方法。 Console API提供了允许开发人员执行调试任务的功能&#xff0c;Console对象提…

php xdebug远程调试配置(含cli模式)

找了很久php的xdebug扩展远程调试教程&#xff0c;大都已经过时&#xff0c;现在记录下php配置xdebug远程调试的过程。 适用php版本: php 7 ~ 8 适用安装xdebug3 版本 目录 1. 安装xdebug 关于windows下的安装 关于linux下的安装 2. 配置phpstorm远程调试 1. 全局监听&am…

VScode调试php文件(详细且简单易操作)

之前也不懂&#xff0c;看了网上好多帖子&#xff0c;按照它们步骤操作一遍之后&#xff0c;还是不行。。。。。头都大了 现在懂了&#xff0c;原来几步就搞定了&#xff0c;被它们搞得这么复杂&#xff0c;又是配置这个文件&#xff0c;又是配置那个文件&#xff0c;。。。。…

PHP调试方法

为什么需要Debugger? PHP程序员调试使用echo、print_r()、var_dump()、printf()等&#xff0c;其实对 于有较丰富开发经验的程序员来说这些也已经足够了&#xff0c;他们往往可以在程序执行的过程中&#xff0c;通过输出特定变量的值可以判断程序执行是否正确&#xff0c;甚至…

VScode + PHPstudy + PHP Debug 调试PHP代码

找了好多文章写个流程笔记记录下&#xff0c;整了几天终于搞定了&#xff08;毕竟我是小白萌新&#xff09;。 下载小皮面板 https://www.xp.cn/download.html下载vscode https://code.visualstudio.com/下载everything https://www.voidtools.com/zh-cn/ 一、小皮面板点击配…

PHP笔记-使用PHPStorm断点调试php代码

最近在撸php&#xff0c;书上都不交断点调试&#xff0c;这尼玛坑得很&#xff0c;没有断点的开发程序&#xff0c;就是坑&#xff0c;通过查阅和摸索&#xff0c;调试成功&#xff0c;在此记录下&#xff1a; php版本&#xff1a;7.1 phpstorm版本&#xff1a;2020.3 首先运…

phpstorm+xdebug/php项目调试

前提&#xff1a;项目使用xampp集成 一、下载xdebug&#xff0c;当到xampp/php/exp目录下 二、配置php.ini [Xdebug] zend_extension"D:/xampp/php/ext/php_xdebug.dll" xdebug.collect_paramsOn xdebug.collect_returnOn xdebug.auto_traceOn xdebug.trace_output_…

php调试排错技巧大全

做php开发时间不短了&#xff0c;在这里总结下平时常用的调试方法&#xff0c;希望对大家有所帮助。 1 代码调试 1.1 打印输出 使用echo、var_dump 、print_r等方法在需要调试地方进行打印输出&#xff0c;通过输出特定变量的值可以判断程序执行是否正确。 1.2 使用debug_b…

VSCode+wampserver搭建PHP调试环境

1.下载vscode和wampserver Vscode下载地址: https://code.visualstudio.com/ Wampserver下载地址: https://www.wampserver.com/en/#download-wrapper 2.测试wampserver是否安装成功 双击打开WAMP&#xff0c;会在右下角的任务栏看到它的图标&#xff0c;如果是绿色代表OK, 其…

vscode使用xdebug3进行PHP调试

使用xdebug&#xff1a; 下载 Xdebug: Downloads 或在这里输入PHP的信息给出推荐的版本&#xff1a;Xdebug: Support — Tailored Installation Instructions 配置&#xff1a; 打开php.ini文件&#xff0c;在文件最后添加&#xff1a;&#xff08;3.0的配置项有些改了&…

PHP 调试 - Xdebug

PHP 调试指南.pdf PHP 程序员的调试技术 根据要调试的对象的不同&#xff0c;采取的方法也不一样&#xff1a; 调试 web 应用&#xff1a;对于 web 应用&#xff0c;可以在浏览器中安装插件&#xff0c;或者在 IDE 中设置&#xff0c;下面的设置二选一即可。 Get/Post 请求…

php程序怎么调试,你是怎么调试PHP代码的

1.echo 这是最简单的输出数据调试方法&#xff0c;一般用来输出变量值&#xff0c;或者你不确定程序执行到了哪个分支的情况下使用。 $var 7; if (0 > $var) { // do something echo 1; }elseif (0 < $var && 5 > $var) { // do something echo 2; }elseif (…

vscode-PHP调试工具测试

[VS CODE] PHP调试环境配置步骤 STEP1 安装配置VS-Code-PHPSTEP2 安装配置XDebugSTEP3 配置VSCode调试器扩展 Wampserver32 整合部署环境&#xff0c;集成Apache服务器 MySQL PHP一体的服务器配置环境 Wampserver版本: 3.0.6 32bit PHP版本: PHP 5.6.25 XDebug Xdebug is…

vscode +phpstudy 搭建php调试环境

在进行php的学习过程中&#xff0c;需要结合具体的实操才能让自己更加深刻的理解代码&#xff0c;所以需要在自己本机搭建一个php的调试环境&#xff0c;进行调试。 这里用到的比较简单快捷的vs code加phpsutfy的方法在本地搭建调试环境。 需要用到的软件 vscode phpstudy v…