我可以在调试时"跳过"jQuery代码吗?

Sco*_*pey 25 javascript firefox jquery firebug visual-studio

在单步执行使用jQuery的脚本时,我只想测试我编写的代码.我不想进入jQuery文件 - 我不是在调试jQuery,只是我自己的文件.

有没有办法告诉调试器不要进入jQuery文件?我使用Visual Studio + Internet Explorer以及Firefox + Firebug来逐步执行代码......两者似乎都喜欢介绍几十个jQuery语句.

例如,假设我有一个这样的脚本:

$("div").each(function() {
   $(this).hide();
});
Run Code Online (Sandbox Code Playgroud)

这在技术上是单个语句 - 因此"Step Over"将立即执行所有代码,这将跳过内部"hide"语句.但是,"Step Into"会将我带到jQuery代码,在将它带到"hide"语句之前,我必须先执行几十行代码.

我想让调试器完全忽略jQuery代码,所以我可以轻松地单步执行自己的代码,而不是单步执行jQuery代码.

在C#中,可以通过在类上使用[DebuggerStepThrough()]属性来实现.但这对JavaScript没有帮助.

flu*_*flu 10

是的你可以

至少在FireFox(25+)和Chrome(30+)中.

在FireFox中,这个功能被调用,"Black boxing"并且可以在FireFox 25中使用.它可以完全满足您的需求:

Nick Fitzgerald和Chris Heilmann:"Firefox开发者工具的新功能:第25集"

此功能也被引入Chrome(v30 +),尽管查找/配置更加困难.它被称为"跳过具有特定名称的来源",而Collin Miller在描述如何配置它方面做得非常出色:

Collin Miller:"提示和技巧:在Chrome中调试时忽略库代码"

我现在正在Chrome中使用它.它就像一个魅力,为我节省了很多时间.

  • 很棒的发现!感谢您重温这个问题,并改善*每个人的*调试体验.我想接受这个作为答案,但我不能发布FF 25和Chrome 30.谢谢! (2认同)