有没有一种方法可以用程序设置断点(例如,当调用命名函数时)
Is there a way set a break-point (eg. when named function is called) programatically?
我正在开发一些JavaScript-当然!-并且正在Chrome中进行一些调试。
现在,我想在调用一个函数(具有给定名称)时以编程方式启用断点。
-
它的作用应该像一个断点。
debugger
关键字总是中断(uhg!),是一个很难看的工件,需要放入代码中或从代码中删除。 -
它不应该需要手动的源代码导航/交互。由于源代码是通过一个自动化的构建过程进行组合的,因此这将是一项耗时的工作。
理想情况下,它应该是简单的和程序控制的,例如
Debugger.setBreakpoint({onFunction: "Foo.prototype.bar"})
有没有一种方法可以在调用特定(命名)函数时设置断点,而无需手动导航当前加载的脚本?
如果没有按照程序的设想,有没有办法通过注释设置断点?(断点,而不是debugger
-断点。)
(我可以在另一个浏览器中使用类似的开发工具,只要它在Windows上运行-但Chrome解决方案(如果存在的话)是理想的。)
在Chrome开发工具中,您可以使用debug(function)
语句来调用函数并破坏函数内部。
如果您有精确的函数引用,还有一种方法var func = function(){
if (arguments.callee._debug) {
debugger;
}
}
将_debug
标志设置为true
func._debug = true
则功能CCD_ 8将停止。这很棘手,这对strict mode
来说是行不通的。
不如写一个可以放置断点的函数:
function setBreakpoint (fn) {
return function () {
debugger;
fn.apply(this, arguments)
}
}
在你的控制台上,你可以覆盖你想打开的功能:
Foo.prototype.bar = setBreakpoint(Foo.prototype.bar);
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何从Java/scala调用js美化程序
- 如何调用这个匿名 JavaScript 函数
- 如何从模块链中调用函数.导出到节点中
- 如何调用更改事件,例如在 HTML 数据列表上选择
- 为什么欧芹不验证每个字段(例如失去焦点),而我调用$('#myForm').validate();
- 覆盖函数(例如“alert”)并调用原始函数
- 单击元素(例如一个或多个图像标签)和相同的函数应在angularjs中调用
- 如何在 Node.js 中从客户端调用服务器端函数(例如.html单击按钮)
- 当我们尝试使用直接引用调用文档对象方法时,例如:var kk = document.getElementById;kk(
- 如何调用使用 canvas 的函数,例如:函数 play(ctx){} 在 IF 语句中
- 按名称调用函数(例如namespace.show)
- 有没有一种方法可以用程序设置断点(例如,当调用命名函数时)
- 为什么调用带括号的方法,例如(obj.func)(),仍然设置“this”
- 如何使用外部SDK获得Angular:(例如,在SDK异步调用后更新DOM)
- 我可以在浏览器窗口的图像上调用Javascript bookmarklet吗?例如:blah.com/blah.jpg
- 为什么即使没有调用显式打印方法(例如document.write),函数的返回值也会打印?
- 我如何调用HTML DOM事件对象(例如:onclick, onblur等)嵌套函数