在Chrome开发者工具中,如何避免逐步调试JavaScript文件?

45

我想知道,是否有任何方法可以从Chrome开发者工具调试器中省略一个javascript文件,以便它自动跳过对该脚本进行的任何函数调用?

我之所以问这个问题,是因为我的项目经常包含大型库,例如jQuery。当我在Chrome开发者工具中调试JavaScript时,每次在我的脚本中进行jQuery调用时,我都必须逐步执行jQuery库。

我最终不得不在每次调用jQuery对象后的下一行设置断点。这是我找到的唯一跳过的方法,非常令人恼火。


1
“步过”和“步出”按钮不起作用了吗? - Dmitry B.
3
它们确实起作用,但有时会跳回到jQuery脚本中。我认为我希望它的工作方式更像Visual Studio调试器。 - BumbleB2na
7
@ZenMaster 这是真的。像那样的一个功能是否要求过多?也许我要求太多了 ;) - BumbleB2na
2
我喜欢这个功能:在调试时允许忽略某些JavaScript文件。例如,不要暂停在这个文件上。 - orad
1
此功能正在Chrome中开发,并可作为实验使用。请参见下面的答案。 - IsmailS
显示剩余3条评论
5个回答

61

更新2
最新版本的Chrome已经改善了该功能的用户流程。请参阅https://developer.chrome.com/devtools/docs/blackboxing

更新1
自Chrome 38版本以来,您不再需要启用开发人员工具实验。

以下细节仅供历史记录

现在在Chrome 30+版本中可以实现这一点。

  1. chrome://flags/#enable-devtools-experiments启用“启用开发人员工具实验”(是的,您需要在输入URL的位置键入它)
  2. 重新启动Chrome
  3. 单击Chrome开发人员工具中的设置图标
  4. 进入实验部分。注意警告 ;) 然后勾选启用框架调试支持。(您还可能想尝试在调试时显示步进候选项
  5. 现在,关闭Chrome Dev Tools并再次打开它。
  6. 单击Chrome开发人员工具中的设置图标
  7. 在常规部分中,您将找到“跳过特定名称的源”。选中它并提供要跳过步进的JavaScript文件名称的正则表达式

跳过某些JavaScript文件的步进

来源:技巧:在Chrome中调试时忽略库代码


我在 Ubuntu 上的 Chrome 33.0 没有这个功能。有人知道我该如何启用它吗? - Dennis Bartlett
2
我找到了chrome://flags/#enable-devtools-experiments并启用它,但是在重新启动/重新加载Chrome并进入开发工具设置后,我绝对没有“跳过特定名称的源代码”选项。它不在那里。请帮忙。我使用的Chrome版本是:33.0.1750.154 - HerrimanCoder
1
你希望你没有错过第四步吧? - IsmailS
1
我找不到“在调试时显示步骤候选项”的选项。 - evanrmurphy
2
该页面上的答案(https://dev59.com/lmsz5IYBdhLWcg3wiYY0#25576456)指出了如何为那些找不到上述详细选项的人完成此操作。 - Brad Parks
显示剩余5条评论

13

iSid我想指出的是,从Chrome 38版本开始,您不再需要启用开发工具实验。相反,如果您直接转到F12开发人员工具 ->设置 ->通用 ->源代码,您会看到其中最后一项是“管理框架黑盒”。好处是您可以为每个框架设置单独的行,或者您可以组合一个通用的匹配模式,如(firebug|angular|knockout|jquery|bootstrap|modernizr|respond)。


3
这应该是您对您正在回复的答案的评论。 - NessDan

13

在版本51中有一些不同。

按下F12,然后按F1,从左侧菜单中选择“黑盒子”。

输入图像描述


2

0

“Step Out”按钮可用于快速退出JQuery代码。


8
这只是解决方案的一半,因为它不能在jQuery调用我传递的回调函数时暂停(例如事件处理程序),而这通常是我试图追踪的内容。 - rjmunro
当我发现自己在一个jquery库文件中时,"Step Out"命令通常是无用的 -- 它经常会将我跳转到整个脚本的最后,而不是返回到进入jquery库之后的那一行。 - HerrimanCoder
2
不要因为现在有更好的解决方案而对问题进行投票,即使是在问题发布4年后。 - Dmitry B.
这并没有回答问题,而且实际上我们仍然需要多次点击“Step Out”。这也取决于jQuery为您做了什么。 - Antonio Brandao
那时候(5年前)那是唯一的选择。 - Dmitry B.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接