2017-06-14 33 views
0

Firefox允许附加到网络工作人员。您可以转至about:debugging,查看活动工作者列表,然后单击“调试”进行附加。使用Firefox调试短期网络工作人员

但是如果应用程序创建一个短期工作人员该怎么办?我想设置一个断点,但在创建工人之前我不能这样做。 (至少,我还没有找到办法,例如,用debugger statement设置断点在Firefox 54中不起作用。)

作为一个非常粗糙的解决方法,我可以延迟web worker的启动通过使用setTimeout,所以我可以使用时间打开about:debugging并附加到新的工作人员。然而,这不是一个好的解决方案。

是否有一种有效的方式提前设置断点(在工人开始之前)?

回答

1

目前,它是不可能的。至少在Firefox 54中不存在。

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

延迟发送消息到新创建的web worker setTimeout在理论上也是一种选择,因为它给你一些时间来附加调试器。这当然不是理想的,但它可以作为最后的手段。

相关问题