我想强制Chrome调试器通过代码或使用某种注释标签(例如)来中断一行代码console.break()
。
我想强制Chrome调试器通过代码或使用某种注释标签(例如)来中断一行代码console.break()
。
Answers:
您可以debugger;
在代码中使用。如果开发者控制台已打开,则执行将中断。它也可以在萤火虫中使用。
setTimeout(function(){debugger;}, 3000);
debugger;
所有主要浏览器都支持该注释。有关更多信息:w3schools.com/jsref/jsref_debugger.asp
设置按钮点击监听器,然后调用 debugger;
例
$("#myBtn").click(function() {
debugger;
});
演示版
JavaScript调试资源
正如其他人已经说过的那样,debugger;
是要走的路。我编写了一个小脚本,可以在浏览器中的命令行中使用该小脚本,以在函数调用之前立即设置和删除断点:http :
//andrijac.github.io/blog/2014/01/31/javascript-breakpoint/
在“脚本”选项卡上,转到代码所在的位置。在行号的左侧,单击。这将设置一个断点。
屏幕截图:
然后,您将能够在右侧选项卡中跟踪断点(如屏幕截图所示)。
debugger
是EcmaScript的保留关键字,自ES5起提供了可选的语义
结果,不仅可以在Chrome中使用它,还可以通过来在Firefox和Node.js中使用它node debug myscript.js
。
该标准说:
句法
DebuggerStatement : debugger ;
语义学
评估DebuggerStatement生产可能会允许实现在调试器下运行时导致断点。如果调试器不存在或未处于活动状态,则此语句无效。
生产DebuggerStatement:调试器; 评估如下:
- 如果实现定义的调试工具可用并已启用,则
- 执行实现定义的调试操作。
- 令result为实现定义的完成值。
- 其他
- 令结果为(正常,空,空)。
- 返回结果。
ES6中没有更改。
这是可能的,并且有很多原因您可能想要这样做。例如,调试接近页面加载开始时的javascript无限循环,这会阻止chrome开发人员工具集(或firebug)正确加载。
参见第2节
http://www.laurencegellert.com/2012/05/the-three-ways-of-setting-breakpoints-in-javascript/
或仅在所需的测试点在代码中添加包含调试器一词的行。
断点
断点将停止执行,并让您检查JavaScript值。
检查值之后,您可以继续执行代码(通常使用播放按钮)。
调试器:
调试器;停止执行JavaScript,并调用调试功能。
debugger语句挂起执行,但不会关闭任何文件或清除任何变量。
Example:-
function checkBuggyStuff() {
debugger; // do buggy stuff to examine.
};
你可以设定 debug(functionName)
调试功能。
https://developers.google.com/web/tools/chrome-devtools/javascript/breakpoints#function
有许多方法可以调试JavaScript代码。以下两种方法被广泛用于通过代码调试JavaScript
使用console.log()
浏览器控制台打印出来的值。(这将帮助您了解代码某些点的值)
调试器关键字。添加debugger;
到要调试的位置,然后打开浏览器的开发人员控制台并导航到“源”选项卡。
debugger;
或者只是在开发人员工具栏中使用常规断点?