我想通过代码强制Chrome调试器在一行上中断,或者使用某种注释标记,例如console.break()。
当前回答
我不推荐调试器;如果你只是想杀死和停止javascript代码,因为调试器;将只是暂时冻结你的javascript代码,而不是永久停止它。
如果你想在你的命令下正确地杀死和停止javascript代码,请使用以下命令:
抛出新的错误(“这个错误消息出现是因为我放置了它”);
其他回答
调试器是EcmaScript保留的关键字,从ES5开始提供可选语义
因此,它不仅可以在Chrome中使用,还可以通过节点调试myscript.js在Firefox和node .js中使用。
标准说:
Syntax DebuggerStatement : debugger ; Semantics Evaluating the DebuggerStatement production may allow an implementation to cause a breakpoint when run under a debugger. If a debugger is not present or active this statement has no observable effect. The production DebuggerStatement : debugger ; is evaluated as follows: If an implementation defined debugging facility is available and enabled, then Perform an implementation defined debugging action. Let result be an implementation defined Completion value. Else Let result be (normal, empty, empty). Return result.
ES6没有变化。
这是可能的,你想这么做的原因有很多。例如,在页面加载开始时调试javascript无限循环,会阻止chrome开发人员工具集(或firebug)正确加载。
参见第2节
http://www.laurencegellert.com/2012/05/the-three-ways-of-setting-breakpoints-in-javascript/
或者只是在所需的测试点向代码中添加一行包含调试器字样的代码。
这个Git预提交钩子可以从merb项目中删除错误的调试器语句
如果想在提交时删除调试器断点,可能有用
你可以使用调试器;在你的代码中。如果开发人员控制台是打开的,执行将中断。它也适用于firebug。
你也可以使用debug(function),在函数被调用时中断。
命令行API参考:调试
推荐文章
- Babel 6改变了它导出默认值的方式
- 如何配置历史记录?
- ES6模板文字可以在运行时被替换(或重用)吗?
- [Vue警告]:找不到元素
- 卸载Chrome开发工具
- 可以在setInterval()内部调用clearInterval()吗?
- AngularJS控制器的生命周期是什么?
- 无法读取未定义的属性“msie”- jQuery工具
- 我的蛋蛋怎么不见了?
- JavaScript中的排列?
- JavaScript中有睡眠/暂停/等待功能吗?
- 如何触发自动填充在谷歌Chrome?
- CSS变换,锯齿边缘在铬
- 如何禁用文本选择使用jQuery?
- 为什么Chrome浏览器不正确地确定页面是在不同的语言,并提供翻译?