Web Inspector 参考符号断点
在调试原生函数调用或尝试在多个同名函数中设置断点时,符号断点会很有用。它们将在给定名称的函数即将被调用时暂停 JavaScript 执行。
创建符号断点时给定的名称也可以不区分大小写和/或被解释为正则表达式模式。
可以通过点击
所有符号断点在 Web Inspector 会话之间都会被保留。
配置
符号断点有几个不同的配置选项,可以通过右键单击并在上下文菜单中选择编辑断点...来访问。
条件输入允许您限制符号断点仅在给定的 JavaScript 求值为真值时才暂停 JavaScript 执行。这对于您只想在满足特定条件(例如变量具有特定值)时暂停 JavaScript 执行的情况非常有用。请记住,所包含的 JavaScript 在达到符号断点时会被评估,并且根据您作为条件运行的代码,可能会导致额外的副作用。
然而,您可能不想执行任意代码,而只是想忽略符号断点前几次被触发。如果是这种情况,将忽略输入设置为任何正整数将阻止符号断点暂停执行,直到它已被触发该次数。
现在您可能想知道动作是什么。它有四种不同的类型:
-
日志消息
这基本上是使用
console.log
记录值的“快捷方式”。您提供的字符串行为类似于模板字面量,这意味着只要它在${…}
内,您就可以评估任意 JavaScript。 -
执行 JavaScript
可以说是最强大的符号断点动作,它允许您在每次触发该符号断点时评估任何任意 JavaScript。给定的 JavaScript 执行时,就好像它在代码行之前一样,这意味着它将可以访问该范围内相关行之前的所有可用变量。
-
播放声音
添加其中一个将导致 Web Inspector 在每次触发符号断点时播放系统蜂鸣声。
-
探测表达式
探测表达式可以看作是一个迷你控制台。每次触发相关符号断点时,探测表达式都会被评估,结果会保存在源代码面板中详细信息侧边栏的探测面板中,让您可以看到表达式的结果在程序生命周期中是如何变化的。您可以使用它来观察特定变量(例如
this
)的变化,或整个表达式(例如this.foo === "bar"
)的变化。
如果设置了任何动作,您还可以将符号断点配置为评估后自动继续。这将使符号断点实际上“隐形”,因为它永远不会暂停执行。评估后自动继续的符号断点在图标中会有一个小的白色三角形(“空心”):
状态
符号断点可以处于启用
- 符号断点被手动禁用
。在源代码面板中导航侧边栏的任何断点图标上单击(或右键单击并在上下文菜单中选择启用断点或禁用断点)都可以在启用 和禁用 之间切换。 - 断点已全局禁用
。全局断点控制是一个按钮,它看起来就像位于源代码面板中导航侧边栏顶部的断点。
右键单击任何符号断点时,上下文菜单中提供了所有启用/禁用/删除切换选项。
图标图例
已启用(全局断点已启用) 已启用(全局断点已启用)并自动继续 已禁用(全局断点已启用) 已禁用(全局断点已启用)并自动继续 已启用(全局断点已禁用) 已启用(全局断点已禁用)并自动继续 已禁用(全局断点已禁用) 已禁用(全局断点已禁用)并自动继续