当使用Chrome调试器在我的JS应用程序中逐步执行代码时,我经常发现自己在主干/下划线/jQuery代码中吃力不讨好,我对此不感兴趣。是否有任何方法可以遍历我的代码,但让调试器跳过这些库中的代码?
我刚刚花了三天时间住在chrome的调试器里做这件事。
诀窍是在Backbone/jQueryUnderscore代码和F8之后的下一行设置断点。
像
for(_(obj).each(function(v,k,l){
console.log( k,v,l);
});
在for
行和console
行上设置断点。F11向下到for行,然后按F8,然后继续您的步骤。
设置断点有点麻烦,但由于在设置断点时关闭断点比最初设置断点更容易,因此维护起来很容易。
在大多数调试器中,您都有一个"Step-out"(当前函数),因此无论何时进入要跳过的库的最顶层,都可以使用它。
编辑:顺便说一句,从当前位置退出到当前函数中的返回。我没有太多使用调试器,所以我不知道如果你退出一个有异步调用的函数会发生什么。我只能想象它会退出这个函数,异步调用会继续进行,而你进入其他东西。