如何从Chrome中的代码设置JavaScript断点?
我想通过代码强制Chrome调试器断行,或者使用某种注释标记,例如如何从Chrome中的代码设置JavaScript断点?,javascript,debugging,google-chrome,breakpoints,Javascript,Debugging,Google Chrome,Breakpoints,我想通过代码强制Chrome调试器断行,或者使用某种注释标记,例如console.break()您可以使用调试器在您的代码中。如果开发人员控制台打开,执行将中断。它在firebug中也可以工作。在“脚本”选项卡上,转到代码所在的位置。在行号的左侧,单击。这将设置一个断点 截图: 然后,您将能够在右侧选项卡中跟踪断点(如屏幕截图所示)。这是可能的,并且您可能有很多原因希望这样做。例如,在页面加载开始时调试javascript无限循环,这会阻止chrome developer工具集(或firebu
console.break()
您可以使用调试器代码>在您的代码中。如果开发人员控制台打开,执行将中断。它在firebug中也可以工作。在“脚本”选项卡上,转到代码所在的位置。在行号的左侧,单击。这将设置一个断点
截图:
然后,您将能够在右侧选项卡中跟踪断点(如屏幕截图所示)。这是可能的,并且您可能有很多原因希望这样做。例如,在页面加载开始时调试javascript无限循环,这会阻止chrome developer工具集(或firebug)正确加载
见本报告第2节
或者只需在所需的测试点向代码中添加一行包含单词debugger的代码。正如其他人所说,debugger代码>是一条路要走。
我编写了一个小脚本,您可以在浏览器的命令行中使用它在函数调用之前设置和删除断点:
设置按钮单击侦听器并调用调试器代码>
示例
$("#myBtn").click(function() {
debugger;
});
演示
有关JavaScript调试的资源
调试器
是EcmaScript保留的关键字,并且自ES5以来提供了可选语义
因此,它不仅可以用于Chrome,还可以用于Firefox和Node.js
委员会:
语法
DebuggerStatement :
debugger ;
语义学
评估DebuggerStatement产品可能允许实现在调试器下运行时导致断点。如果调试器不存在或不处于活动状态,则此语句没有可观察的效果
生产调试语句:debugger;评估结果如下:
如果实现定义的调试工具可用并已启用,则
执行实现定义的调试操作
让结果为实现定义的完成值
否则
让结果为(正常、空、空)
返回结果
ES6中没有更改。您还可以使用调试(函数)
,在调用函数时中断
断点:-
断点将停止执行,并允许您检查JavaScript值
检查值后,可以继续执行代码(通常使用播放按钮)
调试器:-
调试器;停止JavaScript的执行,并调用调试函数
调试器语句暂停执行,但不关闭任何文件或清除任何变量
您也可以将debug(functionName)
设置为调试函数
调试JavaScript代码的方法有很多种。以下两种方法广泛用于通过代码调试JavaScript
使用console.log()
在浏览器中打印值
安慰(这将帮助您了解某些点的值
(你的代码)
调试器关键字。添加调试器代码>到您想要的位置
调试,然后打开浏览器的开发人员控制台并导航到
“源”选项卡
有关调试JavaScript代码的更多工具和方法,请参见。我不推荐调试器
如果您只想杀死并停止javascript代码,因为调试器
将暂时冻结javascript代码,而不是永久停止它
如果您希望在命令下正确终止和停止javascript代码,请使用以下命令:
throw new Error(“出现此错误消息是因为我放置了它”)代码>此要点
如果您想在提交时删除调试器
断点您是否尝试过调试器代码>或仅在开发人员工具栏中使用常规断点?您的意思是从代码本身设置断点,而不是使用开发人员工具中的脚本监视程序设置断点?或者更好:。不是重复。“在Chrome中”和“在代码中”是两件不同的事情,这个问题适用于许多非XHR场景。是其他问题中的1个答案回答了此问题,但其他答案不适用。我在谷歌上搜索了“从代码chrome设置javascript断点”,这是第一个结果,而另一个问题甚至没有出现在第一页上。这个问题的可能重复并没有回答这个问题,他希望能够在代码中完成。如果你用Ajax调用加载JS脚本,它将不会显示在这里,因此需要在代码中设置断点。@FlorianMargaine,不再有“脚本”选项卡。请更新图像。在一些框架中,比如Drupal,JS会添加一个破坏缓存的查询字符串后缀。如果刷新缓存,它通常会更新此后缀,该后缀可以清除您在上一次加载时设置的所有断点。一个很好的技巧是在几秒钟后触发调试器:setTimeout(function(){debugger;},3000)代码>这非常有用。另请注意调试器所有主要浏览器都支持代码>。有关详细信息:@ScottyG MDN不那么闪亮,更有用:@JustusEapen的问题是Javascript是单线程的,所以它不能中断正在运行的代码。@ScottyG是一个标准,它是一个保留语句,具有实现定义的效果:在单击处理程序中设置断点,可能不是什么行动wanted@PeterV如果我只是试图将代码打开到一个靠近我正在调试的代码块的地方,我会发现它很有用。。。但我不想一直调试。。。但是是的,如果只是为了打开调试器。。。然后有一个按键。非常好-似乎只有Chrome在这个时候,但这是我的主要平台无论如何。现在我只需要记住t
Example:-
function checkBuggyStuff() {
debugger; // do buggy stuff to examine.
};