Chrome调试器 - 如何在不进入函数的情况下跳转到下一行?

3

例如:

const x = 10
const f1 = () => {/* do something... */}
f1() // <<-- I'm here
console.log(x) // I want to go here without entring to f1 AT ALL but still let f1 execute.

我希望让f1执行,但不想经过它。

这可行吗?


无重复:

另一个问题是找到一种方法来防止任何行执行,而这个问题是关于让只有函数调用的行执行,但不让调试器进入它们的执行。


很难证明一个否定的事实,但我不认为Chrome的开发工具有这个功能(尚未)。我曾多次希望它能有这个功能。 - undefined
@Ivar 不是这样的。你提供的链接是用于找到一种方法来__防止任何行执行__,而这个问题是关于让只有函数调用的行执行,但没有调试器进入它们的执行。 - undefined
@Ivar 你的解决方案会让我添加超过150个断点,然后不停地删除和添加它们。 - undefined
2
@StavAlfi 我不确定为什么需要150个断点。当你在f1()上暂停时,你只需点击“步过”按钮或在下一行添加一个断点,然后点击“继续”并再次移除它。如果这不能满足你的需求,那么详细说明一下你的工作流可能会有所帮助。 - undefined
DevTools技术作家在此。@Ivar是正确的。Step Over正是你想要的。请参考我的答案以获取演示。 - undefined
显示剩余4条评论
3个回答

6
我想让f1执行,但不想逐行跟踪它。
我猜你不想阻止Chrome运行f1(),只是不想逐行跳过它。
如果你想跳过多行代码,“从这里继续”选项似乎是最好的选择。可以在编辑器的标尺上右键点击来使用此选项。

Screencast how to skip code from breaking location to later line

相同的选项也可在Firefox开发者工具中找到。

1

Ivar在评论中提到的那样,Step Over按钮正是您想要的。

在下面的GIF中,您可以看到我已经暂停在doStuff()上。我还没有执行它。点击Step Over后,我会暂停在doStuff()下面的代码行上。在doStuff()内定义的三个console.log()语句已经被记录到控制台中。因此,doStuff()函数已经执行,而不需要您逐行浏览每个函数中的代码。

demo

请查看逐步执行代码,了解每个代码步进按钮的更多信息。


0
1. 在 f1() 行上添加一个断点。 2. 将其注释掉 /* f1() */ ,然后按下 CMD + S 保存。 3. 按下播放按钮。
这样就会将函数调用注释掉。

1
请再次阅读示例中的注释。我进行了编辑以避免产生困惑。 - undefined
1
如果你说你不想再讨论这个问题,那么你是想深入了解吗?因为这是唯一的途径。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接