有没有办法以编程方式设置断点(例如,在调用命名函数时)?

use*_*740 4 javascript debugging google-chrome breakpoints developer-tools

我正在研究一些JavaScript - 当然! - 我正在Chrome中进行一些调试.

现在,我希望在调用函数(具有给定名称)时以编程方式启用断点.

  1. 它应该像断点一样运作.该debugger关键字总是打破(UHG!),是一个丑陋的神器投入,并从代码中删除.

  2. 它不应该需要手动源代码导航/交互.由于源通过自动构建过程组合,因此这成为一项耗时的工作.

理想情况下,它可以像简单和编程控制一样,例如.

Debugger.setBreakpoint({onFunction: "Foo.prototype.bar"})
Run Code Online (Sandbox Code Playgroud)

有没有办法设置一个断点,以便在没有手动导航当前加载的脚本的情况下调用特定(命名)函数?

如果不是以编程方式设想的,有没有办法通过评论设置断点?(断点,不是 - debugger破裂.)

(我可以修改在其他浏览器中使用类似的开发人员工具,只要它在Windows上运行 - 但Chrome解决方案(如果存在的话)是理想的.)

Pav*_*kov 7

在Chrome Developer Tool中,您可以使用debug(function)statement来调用函数并在其中进行分解.

如果你有一个确切的函数参考,还有一种方法
var func = function(){ if (arguments.callee._debug) { debugger; } }

设置_debug标志true
func._debug = true

那么功能func()就会停止.这很棘手,这不会奏效strict mode.