如何从 Chrome 中的代码设置 JavaScript 断点?

IT技术 javascript debugging google-chrome breakpoints
2021-01-13 04:02:22

我想通过代码强制 Chrome 调试器在一行中断,或者使用某种注释标记,例如console.break().

6个回答

您可以debugger;在代码中使用如果开发者控制台打开,执行将中断。它也适用于萤火虫。

@ScottyG MDN 不那么闪亮,更有用:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
2021-03-14 04:02:22
@ScottyG 就标准而言,它是具有实现定义效果的保留语句:stackoverflow.com/a/37549760/895245
2021-03-19 04:02:22
@JustusEapen 问题是 Javascript 是单线程的,所以它不能中断正在运行的代码。
2021-03-28 04:02:22
一个不错的技巧是在几秒钟后触发调试器: setTimeout(function(){debugger;}, 3000);
2021-04-07 04:02:22
这非常有帮助。Note 也debugger;支持所有主要浏览器。更多信息:w3schools.com/jsref/jsref_debugger.asp
2021-04-11 04:02:22

您还可以使用debug(function), 在function被调用时中断

命令行 API 参考:调试

@8ctopus:你确定?您可以在 Chrome 开发工具控制台中尝试以下代码段进行验证吗? function foo(){} debug(foo); foo();
2021-03-13 04:02:22
非常好 - 目前似乎只有 Chrome,但无论如何那是我的主要平台。现在我只需要记住停止调用我的全局调试标志“调试”......
2021-03-23 04:02:22
Chrome Debugger Command Line API Reference 实际上包含一些我不知道的其他非常有用的东西。谢谢!
2021-03-27 04:02:22
这在点击处理程序中设置了一个断点,可能不是 OP 想要的
2021-03-27 04:02:22
@PeterV 如果我只是想将我的代码打开到一个靠近我正在调试的代码块的地方,我会发现它很有用......但不想一直调试......但是是的,如果只是为了打开调试器......那么有一个按键。
2021-03-31 04:02:22

正如其他人已经说过的那样,debugger;是要走的路。我写了一个小脚本,你可以在浏览器的命令行中使用它在函数调用之前设置和删除断点:http : //andrijac.github.io/blog/2014/01/31/javascript-breakpoint/

在“脚本”选项卡上,转到代码所在的位置。在行号的左侧,单击。这将设置一个断点。

截屏:

chrome断点截图

然后,您将能够在右侧选项卡中跟踪断点(如屏幕截图所示)。

如果你用 Ajax 调用加载一个 JS 脚本,它不会在这里显示,因此需要在代码中设置断点。
2021-03-16 04:02:22
在某些框架中,例如 Drupal,JS 会添加一个缓存破坏查询字符串后缀。如果您刷新缓存,它通常会更新此后缀,这可以清除您在之前加载时设置的任何断点。
2021-03-18 04:02:22
这并没有回答问题,他希望能够在代码中做到这一点
2021-03-28 04:02:22
@FlorianMargaine,不再有脚本选项卡。请更新图像。
2021-04-11 04:02:22