Javascript 是否有一种方法可以通过编程设置断点(例如,当调用命名函数时)?
我正在做一些JavaScript——当然我正在用Chrome做一些调试 现在,我想在调用函数(具有给定名称)时以编程方式启用断点Javascript 是否有一种方法可以通过编程设置断点(例如,当调用命名函数时)?,javascript,google-chrome,debugging,breakpoints,developer-tools,Javascript,Google Chrome,Debugging,Breakpoints,Developer Tools,我正在做一些JavaScript——当然我正在用Chrome做一些调试 现在,我想在调用函数(具有给定名称)时以编程方式启用断点 它的功能应该像一个断点。debugger关键字总是会中断(uhg!),这是一个很难放入代码并从代码中删除的工件 它不需要手动源代码导航/交互。由于源代码是通过一个自动化的构建过程进行组合的,因此这将成为一项耗时的工作 理想情况下,它将是一个简单的和程序控制的东西,例如 有没有一种方法可以在不手动导航当前加载的脚本的情况下为调用特定(命名)函数设置断点 如果不是按照编
debugger
关键字总是会中断(uhg!),这是一个很难放入代码并从代码中删除的工件有没有一种方法可以在不手动导航当前加载的脚本的情况下为调用特定(命名)函数设置断点 如果不是按照编程的设想,有没有办法通过注释设置断点?(断点,而不是
调试器-Break。)
(我可以在另一个浏览器中使用类似的开发工具,只要它在Windows上运行——但如果存在Chrome解决方案,这是理想的。)在Chrome开发工具中,您可以使用语句调用函数并在其中断开
如果您有精确的函数引用,还有一种方法
var func=function(){
if(arguments.callee.\u debug){
调试器;
}
}
将\u debug
标志设置为true
func.\u debug=true
然后将停止函数func()
。这很棘手,而且在严格模式下无法使用如何编写一个可以放置断点的函数:
function setBreakpoint (fn) {
return function () {
debugger;
fn.apply(this, arguments)
}
}
在控制台中,您可以覆盖要中断的功能:
Foo.prototype.bar = setBreakpoint(Foo.prototype.bar);
@用户2864740太好了。我刚刚编辑了注释并添加了另一种方式debug(..)
解决方案非常适合这一要求,特别是因为这只是当前的调试工件!我不敢相信我以前从未知道这件事。
Foo.prototype.bar = setBreakpoint(Foo.prototype.bar);