我尝试调试一些使用when.js
的代码。逐步执行代码,在某个时刻,我到达when.js本身,然后被埋没在一系列内部调用中 - 承诺履行,排队等。
我有when.js
黑盒子,但这似乎没什么改变。
我真正想要做的是跳到下一个不在黑盒子文件中的语句,然后立即停止。有没有办法实现这个目标?
如果怀疑黑盒子剧本的行为确实如此:
在我的情况下,当使用browserify将.js编译到我们的应用程序中时,我们已经生成了源地图。
答案 0 :(得分:2)
我真正想要做的是跳到下一个不在黑盒子文件中的语句,然后立即停止。有没有办法实现这个目标?
这正是为黑盒子设计的框架。
我认为这里的问题是when.js被编译到你的应用程序中并且调试器无法将其代码识别为黑盒子(尽管有误导性的警告)。让我们说一下你的应用程序的所有源文件,包括when.js编译成app.js.在那种情况下,在被检查的页面中没有诸如when.js文件这样的东西,因此JS执行将永远不会从when.js(它将始终是app.js)的函数上暂停。源地图应用于UI级别,一旦你在app.js中的某个地方暂停,我们就可以将它映射到when.js中的相应位置。所有这些在DevTools UI中执行得太迟了。我们要做的就是能够黑盒子只对应于已编译的when.js源的app.js的一部分。 DevTools还没有支持。如果您可以通过crbug.com/new
提交功能请求,我将不胜感激您能否证实我对观察到的行为的理解是正确的?