Google chrome devtools 如何跳过黑盒代码,直接转到下一个非黑盒代码?

Google chrome devtools 如何跳过黑盒代码,直接转到下一个非黑盒代码?,google-chrome-devtools,Google Chrome Devtools,目前,我有一个黑盒脚本,但我仍然需要逐步完成该代码。它实际上并没有显示代码,但我仍然必须按下按钮来逐步浏览它,这有点违背了目的。我希望能够跳过所有黑盒代码,直接转到非黑盒代码,即使黑盒代码调用非黑盒代码…所以,我不想跳过黑盒代码,但是我不想一步一步地通过黑盒代码中的每一步来获得非黑盒代码……这可能吗?如果黑盒脚本,调试器根本不会进入脚本文件。您不应该一直在它内部的代码中单步执行。如果是,那么要么是源代码映射问题(我以前见过),要么就是在黑盒脚本中专门设置了断点。再往下看 例如,以脚本A、B和C为

目前,我有一个黑盒脚本,但我仍然需要逐步完成该代码。它实际上并没有显示代码,但我仍然必须按下按钮来逐步浏览它,这有点违背了目的。我希望能够跳过所有黑盒代码,直接转到非黑盒代码,即使黑盒代码调用非黑盒代码…所以,我不想跳过黑盒代码,但是我不想一步一步地通过黑盒代码中的每一步来获得非黑盒代码……这可能吗?

如果黑盒脚本,调试器根本不会进入脚本文件。您不应该一直在它内部的代码中单步执行。如果是,那么要么是源代码映射问题(我以前见过),要么就是在黑盒脚本中专门设置了断点。再往下看

例如,以脚本A、B和C为例。B调用C中的某个函数,A调用B中的某个函数,但B是黑盒的。暂停A调用,进入函数,但调试器不会进入B的函数,而是直接进入C的函数。您可以尝试以下方法:

主页

<script src="c.js"></script>
<script src="b.js"></script>
<script src="a.js"></script>
b.js

window.bFunc();
window.bFunc = function() {
    window.cFunc();
}
window.cFunc = function() {
    console.log('called cFunc');
}
b.js

window.bFunc();
window.bFunc = function() {
    window.cFunc();
}
window.cFunc = function() {
    console.log('called cFunc');
}

如果在黑盒脚本中放置断点(例如,在本例中为B),它将在这些断点上中断,但不会进入代码。显然,您可以禁用这些断点以继续单步执行其他代码。重要的是,这些断点是显式放置的,因此您可以控制它


如果你对某些行为不感兴趣,或者有什么建议,可以在Chromium thread上发表评论。最后一条评论讨论了上述要点以及调试器不忽略黑盒断点的好处。

我也很喜欢这一点,以及从堆栈跟踪中排除黑盒代码。即使我禁用了源代码映射,它仍在这样做:我没有提到webpack。它应该可以很好地工作。黑盒脚本文件中有断点吗?没有,一点也没有……不过我在这里报告了一个错误: