如何在chrome中的dev工具中访问js-file / lib时设置断点?

时间:2013-11-29 17:43:13

标签: javascript jquery debugging google-chrome google-chrome-devtools

是否可以在调试时获取断点,以便每次访问某个类时都停止,否则它会正常运行。

这是一个非常常见的用例,当一个人不想停止在jquery函数或其他常见的libs函数上,并希望保留在特定的js文件上,但不知道什么可能会触发bug,所以一个人不希望显式地在js文件的每一行上设置一个断点来捕获对该文件的所有访问。 Chrome DevTools是否有针对该调试功能的选项?

更新

或许还有另一种方法可以通过忽略整个库(如jquery)来获得类似的功能,如果应该有一个断点,那么只有其他文件才会被调试器处理?对于这个案子来说,这仍然不是最好的解决方案,但无论如何都要节省很多时间。

UPDATE2:

第二种方法是here,但我有Chrome 26,但遗憾的是在接下来的一两个月内无法更新,因此此功能现在不能用于我的浏览器。

4 个答案:

答案 0 :(得分:1)

唯一的方法是在文件中添加debugger;语句。在文件的开头和每个函数体的开头应该就够了。

参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/debugger

答案 1 :(得分:0)

您可以在“来源”面板中设置条件断点。如果右键单击行号装订线,它将显示您可以使用的不同选项的上下文菜单,其中一个是条件断点。 比如,如果(条件)中断;

单击“编辑断点”以执行此操作

enter image description here

答案 2 :(得分:0)

如果您知道正在调用的函数,则可以使用function breakpoints

debug(function);
function(...args);

当您调用该函数时,它将触发断点。这些都不会在页面重新加载时保存,但是一旦你点击了函数断点就可以设置一个断点。

但这可能会有点单调乏味。

如果你有一系列功能,你可以

[function0, function1].map(debug)
如果有某种babel变换在每个函数的开头插入debugger;而不是手动插入,那么

@Tibos答案会很好。

答案 3 :(得分:-1)

按F12 => select Sources =>按CTRL + O =>输入文件名=>最终打破断点