我有一个像这样的javascript代码:
_.each(node.readLines, function(line) {
// Mark read-lines
start = line;
that._editor.session.addGutterDecoration(start - 1, 'editor_read_decoration');
that._gutterDecorations[start - 1] = 'editor_read_decoration';
});
使用Chrome进行调试时,调试器会迭代此_.each
函数的循环,尽管node.readLines
有五个元素。它只是暂停在_.each
,下一步它会转到_.each
语句之后的下一个语句而不进入它。当然_.each
内的语句是执行的,但是在后台。如果我点击Chrome调试器的"进入" 或"跳过" 命令,则没有任何区别。我意识到我总是使用这个_.each
函数。
如何调试此函数内的语句并遍历node.readLines
的所有迭代?
答案 0 :(得分:1)
如果您使用Step Into
,则应在lodash或underscore.js中逐步实施_.each()
。如果它被最小化,那么代码将无法读取。在进入迭代函数之前,您必须在该代码中执行一些额外的步骤,并且您还需要在那里使用Step Into
。
我通常做的调试代码就是在回调函数的第一行设置一个断点。