我可以告诉Chrome脚本调试器忽略jquery.js吗?


98

有没有办法告诉Chrome调试器(或Firebug?)不要破坏某些文件?假设它们没有损坏,本质上是?这似乎是他们可能内置的东西。


3
这对我在jquery事件的上下文中特别有用。触发事件时,您必须经过大量操作才能弄清楚正在调用哪些处理程序。
tofarr 2012年

看来您应该将jfriend00标记为答案。我找不到造成这种烦人行为的原因,他的回答解决了这个问题。
OrPaz 2012年

@OrPaz我不同意,我的问题(和我对Josh问题的理解)是我们正在调试文件,但这并不意味着会引发异常。我的假设是我的代码是问题,而不是jQuery,所以我从不想调试jQuery。我认为它就像.NET中的DebuggerHiddenAttribute
Nathan Koop 2012年

我投票支持jfriend00的答案,因为它可能对遇到此问题的人有价值,但我没有将其标记为正确的答案,因为Nathan Koop是正确的,它不能解决我的问题。
乔什·舒尔茨

Answers:


47

现在可以在Firefox https://developer.mozilla.org/zh-CN/docs/Tools/Debugger中对 JS文件进行黑盒处理

并在Chrome Canary中使用实验开发工具。 http://www.divshot.com/blog/tips-and-tricks/ignoring-library-code-while-debugging-in-chrome/

更新。在Chrome中诉 75有一个separabe为blackboxing标签

以上内容也可以在稳定的Chrome版本中使用。


7
黑匣子似乎并没有使调试器跳过文件。它仍然会通过其函数调用...完全忽略文件会很好。
安东尼奥·布兰道

4
这就是黑匣子的关键-运行代码而不查看其内容。
diynevala 2016年

1
当您只是不逐步浏览其他库(不是它们不存在或未被使用)时,就不是黑匣子。
约翰尼


31

Chrome的最新版本已实现一项新的黑盒功能,该功能完全可以满足您的需求。基本上,在给定文件上设置blackbox选项时,它将阻止Chrome调试器闯入该文件。

此功能是内置的,可以通过文件的上下文菜单进行设置(单击鼠标右键)。如果将Chrome调试器设置为在所有异常情况下均停止运行,则该功能也将起作用。


2
非常干净的解决方案无需插件。
George Botros

3
不幸的是,它不再起作用。如果选中“暂停捕获的异常”,然后将黑盒jQuery选中,则仍然会中断异常。
blackmamba

15

如果您遇到的问题是Chrome调试器正在停止所有异常,甚至是jQuery内部的异常,那么您可能需要告诉Chrome仅在未捕获的异常而不是所有异常上暂停。在调试器的“脚本”面板中时,在控制它的窗口左下角有一个图标。


用这个救了我!谢谢!(+ 1)
OrPaz 2012年

12

在Chrome中,打开开发人员工具,然后转到设置,您将看到“ 黑匣子”标签:

Chrome黑匣子

在FireFox中,甚至更简单,只需单击文件底部的“眼睛”即可:

FireFox黑匣子


你让我的生活变成了天堂!谢谢!
不知道

7
  1. 转到开发人员工具设置,然后单击左侧面板上的Balckboxing标签。
  2. 然后单击添加模式按钮并键入jquery.js
  3. 关闭并重新打开开发人员工具,现在跳过了!

2

如果调试器在jQuery文件中的某个位置崩溃,则可能会将可疑调用包装在try / catch中,然后自己抛出错误catch。这样,您可以准确地找出问题所在。

我会更倾向于进行堆栈跟踪以查看为什么我的代码被炸毁(例如无效的JSON),而不是尝试对其进行屏蔽。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.