通常,我想在调试时暂停一个特定的行,但只能在执行另一行之后暂停。通常,这个JavaScript代码是机器生成的(例如,通过JSP或PHP),或者应该构建(例如通过Grunt),每次我想添加断点时都会有点烦人。在这种情况下如何在特定的行停止?
例如,我有两个函数,f_a()
和f_b()
以这种方式调用:
for (var i = 0; i < 1000; i++) {
f_a();
}
f_b();
f_a();
( Running example )
我想在f_a()
内添加一个断点,但只在调用f_b()
后才停止此函数。怎么做?
答案 0 :(得分:2)
我们可以做到以下几点:
f_b()
添加断点。使此断点有条件。作为条件,将变量(我们说,pause_at_f_a
)设置为true
。我们不想在f_b()
内暂停,因此我们使用逗号运算符返回false
。那么条件是
pause_at_f_a = true, false
向f_a()
添加断点。此断点的条件应为paused_at_f_a
变量。
可能的烦恼是,在检查了我们要检查的内容后,断点将保持启用状态。这就是为什么我又采取了另一个步骤:
答案 1 :(得分:1)
您也可以在代码中编写debugger;
,浏览器开发工具将停在该代码行上。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/debugger