我想强制 Chrome 调试器通过代码中断一行,或者使用某种注释标记,例如console.break()
.
12 回答
您可以debugger;
在代码中使用。如果开发者控制台打开,执行将中断。它也适用于萤火虫。
您也可以使用, 在被调用debug(function)
时中断。function
设置按钮单击侦听器并调用debugger;
例子
$("#myBtn").click(function() {
debugger;
});
演示
JavaScript 调试资源
正如其他人已经说过的那样,debugger;
这是要走的路。我写了一个小脚本,您可以在浏览器的命令行中使用它在函数调用之前设置和删除断点:http:
//andrijac.github.io/blog/2014/01/31/javascript-breakpoint/
在“脚本”选项卡上,转到您的代码所在的位置。在行号的左侧,单击。这将设置一个断点。
截屏:
然后,您将能够在右侧选项卡中跟踪您的断点(如屏幕截图所示)。
debugger
是 EcmaScript 的保留关键字,并且从 ES5 开始具有可选语义
因此,它不仅可以在 Chrome 中使用,还可以通过node debug myscript.js
.
标准说:
句法
DebuggerStatement : debugger ;
语义
评估 DebuggerStatement 生产可能允许实现在调试器下运行时导致断点。如果调试器不存在或不活动,则此语句没有可观察到的效果。
生产 DebuggerStatement : debugger ; 评估如下:
- 如果实现定义的调试工具可用并启用,则
- 执行实现定义的调试操作。
- 让 result 是实现定义的 Completion 值。
- 别的
- 让结果为(正常,空,空)。
- 返回结果。
ES6 没有变化。
有很多方法可以调试 JavaScript 代码。以下两种方法被广泛用于通过代码调试 JavaScript
console.log()
用于打印浏览器控制台中的值。(这将帮助您了解代码某些点的值)调试器关键字。添加
debugger;
到您要调试的位置,然后打开浏览器的开发人员控制台并导航到源选项卡。
有关调试 JavaScript 代码的更多工具和方法,请参阅 W3School 的此链接。
这是可能的,并且您可能想要这样做的原因有很多。例如,在页面加载开始时调试 javascript 无限循环,这会阻止 chrome 开发人员工具集(或 firebug)正确加载。
见第 2 节
http://www.laurencegellert.com/2012/05/the-three-ways-of-setting-breakpoints-in-javascript/
或者只是在所需的测试点将包含单词 debugger 的行添加到您的代码中。
断点:-
断点将停止执行,并让您检查 JavaScript 值。
检查值后,您可以恢复代码的执行(通常使用播放按钮)。
调试器:-
调试器;停止 JavaScript 的执行,并调用调试函数。
调试器语句暂停执行,但它不会关闭任何文件或清除任何变量。
Example:-
function checkBuggyStuff() {
debugger; // do buggy stuff to examine.
};
您也可以设置debug(functionName)
调试功能。
https://developers.google.com/web/tools/chrome-devtools/javascript/breakpoints#function
debugger;
如果您只想杀死和停止 javascript 代码,我不建议您这样做,因为debugger;
它只会暂时冻结您的 javascript 代码而不是永久停止它。
如果您想在命令中正确终止和停止 javascript 代码,请使用以下命令:
throw new Error("This error message appears because I placed it");
这个要点Git 预提交挂钩,用于从您的 merb 项目中删除杂散的调试器语句
如果想debugger
在提交时删除断点可能有用