簡體   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