繁体   English   中英

使用Firefox调试短暂的Web工作者

[英]Debugging short-lived web workers with Firefox

Firefox允许附加到网络工作者。 您可以转到about:debugging ,查看活动工作程序列表,然后单击“ debug”进行附加。

但是,如果应用程序创建了一个短暂的工作人员该怎么办? 我想设置一个断点,但是在创建工作程序之前我无法提前设置。 (至少,我还没有找到一种方法。例如,使用debugger语句设置断点在Firefox 54中不起作用。)

作为非常粗略的解决方法,我可以使用setTimeout延迟Web worker的启动,因此我可以花时间打开about:debugging并附加到新worker。 但是,这不是一个好的解决方案。

有没有一种有效的方法来提前设置断点(甚至在工人开始之前)?

我已经创建了一个非常简单的webworker jsfiddle和debugger; 在chrome调试工具中有效,但在Firefox调试工具中无效: https : //jsfiddle.net/ckprrLxz/2/

目前,这是不可能的。 至少在Firefox 54中没有。

作为一种解决方法,我建议修改代码,以便至少在调试期间重用Web Worker。 在我的特定用例中,这样做相对容易。 根据情况,可能会更困难甚至无法实现。 在这种情况下,您必须使用其他技术来调试代码。 例如,通过为Web Worker代码编写测试(无论如何可能是个好主意)。

从理论上讲,使用setTimeout延迟将消息发送到新创建的Web Worker也是一种选择,因为它使您有时间连接调试器。 这当然不是理想的,但是可以用作最后的手段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM