Breakpoints in Web worker don't work

787 views
Skip to first unread message

Maximilian Klein

unread,
Aug 21, 2015, 12:33:29 PM8/21/15
to Google Chrome Developer Tools
Hey,

I just tried the debugger in a web worker and it works fine, except: I cannot set any breakpoints.


But the answer doesn't solve my problem. I started my browser with a fresh profile, I tried naming my Worker file via //@ sourceURL (as it is loaded dynamicall). This improved at least the "eval" execution.

Here is an example

simply click on the "Debug" button on the right (after opening the DevTools), you will break in the Web Worker, but it is not possible to use breakpoints. More debugger statements work properly. The Web worker starts in a sandboxed iframe, but I don't thinkt that should matter as the debugger command runs just fine?

My Chrome version: 44.0.2403.89

Yury Semikhatsky

unread,
Aug 21, 2015, 4:02:09 PM8/21/15
to Google Chrome Developer Tools
Hi Maximilian,

When I set breakpoint at _JailedSite.js:7 the debugger stops on it in both cases when I click Run or Debug button. However, if I click Run button the worker gets terminated by the call at example.js:100 in a few seconds after it paused. I managed to overcome this by setting a breakpoint at that line. For better UX worker termination should be postponed until worker execution is resumed. I opened a bug on this: crbug.com/523480

--
You received this message because you are subscribed to the Google Groups "Google Chrome Developer Tools" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-chrome-develo...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-chrome-developer-tools/10f7efdb-6a14-48dc-94d0-486cca0bc20a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Maximilian Klein

unread,
Aug 22, 2015, 9:09:51 AM8/22/15
to Google Chrome Developer Tools
Hey Yury,

thank you. My debugger also stops in _JailedSite.js. So it doesn't seem to be problem with breakpoints in Web Workers. But why can't I set a breakpoint in the "debug.js" code. I mean exactly this part here.


The debugger stops at the debugger keyword, but it doesn't stop at the breakpoint in line 3.

And yes, there is an intended timeout for running code. To prevent never stopping workers with infinite loops, e.g. while editing the code.
Unfortunately I don't know if the debugger is active or how to find out if and thus we probably will run the code once before enabling the debugger.

On Friday, August 21, 2015 at 10:02:09 PM UTC+2, Yury Semikhatsky wrote:
Hi Maximilian,

When I set breakpoint at _JailedSite.js:7 the debugger stops on it in both cases when I click Run or Debug button. However, if I click Run button the worker gets terminated by the call at example.js:100 in a few seconds after it paused. I managed to overcome this by setting a breakpoint at that line. For better UX worker termination should be postponed until worker execution is resumed. I opened a bug on this: crbug.com/523480
On Fri, Aug 21, 2015 at 7:13 AM, Maximilian Klein <das...@gmail.com> wrote:
Hey,

I just tried the debugger in a web worker and it works fine, except: I cannot set any breakpoints.


But the answer doesn't solve my problem. I started my browser with a fresh profile, I tried naming my Worker file via //@ sourceURL (as it is loaded dynamicall). This improved at least the "eval" execution.

Here is an example

simply click on the "Debug" button on the right (after opening the DevTools), you will break in the Web Worker, but it is not possible to use breakpoints. More debugger statements work properly. The Web worker starts in a sandboxed iframe, but I don't thinkt that should matter as the debugger command runs just fine?

My Chrome version: 44.0.2403.89

--
You received this message because you are subscribed to the Google Groups "Google Chrome Developer Tools" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-chrome-developer-tools+unsub...@googlegroups.com.

Yury Semikhatsky

unread,
Aug 22, 2015, 11:20:25 AM8/22/15
to Google Chrome Developer Tools
On Sat, Aug 22, 2015 at 6:09 AM, Maximilian Klein <das...@gmail.com> wrote:
Hey Yury,

thank you. My debugger also stops in _JailedSite.js. So it doesn't seem to be problem with breakpoints in Web Workers. But why can't I set a breakpoint in the "debug.js" code. I mean exactly this part here.


The debugger stops at the debugger keyword, but it doesn't stop at the breakpoint in line 3.

This is weird. So the problem is that you can set breakpoint at debug.js:3 but it never gets hit? I cannot reproduce this on Chrome 45 and Canary on Mac. Once execution is resumed after stopping on the debugger; statement it will pause at debug.js:3 Can you try to reproduce the problem on Chrome Canary?


And yes, there is an intended timeout for running code. To prevent never stopping workers with infinite loops, e.g. while editing the code.
Unfortunately I don't know if the debugger is active or how to find out if and thus we probably will run the code once before enabling the debugger.

I meant DevTools debugger should behave that way without requiring application to know if it is being debugged. Created a bug for this: crbug.com/523649
 
On Friday, August 21, 2015 at 10:02:09 PM UTC+2, Yury Semikhatsky wrote:
Hi Maximilian,

When I set breakpoint at _JailedSite.js:7 the debugger stops on it in both cases when I click Run or Debug button. However, if I click Run button the worker gets terminated by the call at example.js:100 in a few seconds after it paused. I managed to overcome this by setting a breakpoint at that line. For better UX worker termination should be postponed until worker execution is resumed. I opened a bug on this: crbug.com/523480
On Fri, Aug 21, 2015 at 7:13 AM, Maximilian Klein <das...@gmail.com> wrote:
Hey,

I just tried the debugger in a web worker and it works fine, except: I cannot set any breakpoints.


But the answer doesn't solve my problem. I started my browser with a fresh profile, I tried naming my Worker file via //@ sourceURL (as it is loaded dynamicall). This improved at least the "eval" execution.

Here is an example

simply click on the "Debug" button on the right (after opening the DevTools), you will break in the Web Worker, but it is not possible to use breakpoints. More debugger statements work properly. The Web worker starts in a sandboxed iframe, but I don't thinkt that should matter as the debugger command runs just fine?

My Chrome version: 44.0.2403.89

--
You received this message because you are subscribed to the Google Groups "Google Chrome Developer Tools" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-chrome-develo...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Google Chrome Developer Tools" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-chrome-develo...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-chrome-developer-tools/1c59cdc5-6868-41f1-b2f8-9896d54ff69d%40googlegroups.com.

Maximilian Klein

unread,
Aug 22, 2015, 2:56:33 PM8/22/15
to Google Chrome Developer Tools

On Saturday, August 22, 2015 at 5:20:25 PM UTC+2, Yury Semikhatsky wrote:


On Sat, Aug 22, 2015 at 6:09 AM, Maximilian Klein <das...@gmail.com> wrote:
Hey Yury,

thank you. My debugger also stops in _JailedSite.js. So it doesn't seem to be problem with breakpoints in Web Workers. But why can't I set a breakpoint in the "debug.js" code. I mean exactly this part here.


The debugger stops at the debugger keyword, but it doesn't stop at the breakpoint in line 3.

This is weird. So the problem is that you can set breakpoint at debug.js:3 but it never gets hit? I cannot reproduce this on Chrome 45 and Canary on Mac. Once execution is resumed after stopping on the debugger; statement it will pause at debug.js:3 Can you try to reproduce the problem on Chrome Canary?


I just tried it with Canary and it works. Seems that it was fixed in the new version. Thank you!

 
And yes, there is an intended timeout for running code. To prevent never stopping workers with infinite loops, e.g. while editing the code.
Unfortunately I don't know if the debugger is active or how to find out if and thus we probably will run the code once before enabling the debugger.

I meant DevTools debugger should behave that way without requiring application to know if it is being debugged. Created a bug for this: crbug.com/523649
 
On Friday, August 21, 2015 at 10:02:09 PM UTC+2, Yury Semikhatsky wrote:
Hi Maximilian,

When I set breakpoint at _JailedSite.js:7 the debugger stops on it in both cases when I click Run or Debug button. However, if I click Run button the worker gets terminated by the call at example.js:100 in a few seconds after it paused. I managed to overcome this by setting a breakpoint at that line. For better UX worker termination should be postponed until worker execution is resumed. I opened a bug on this: crbug.com/523480
On Fri, Aug 21, 2015 at 7:13 AM, Maximilian Klein <das...@gmail.com> wrote:
Hey,

I just tried the debugger in a web worker and it works fine, except: I cannot set any breakpoints.


But the answer doesn't solve my problem. I started my browser with a fresh profile, I tried naming my Worker file via //@ sourceURL (as it is loaded dynamicall). This improved at least the "eval" execution.

Here is an example

simply click on the "Debug" button on the right (after opening the DevTools), you will break in the Web Worker, but it is not possible to use breakpoints. More debugger statements work properly. The Web worker starts in a sandboxed iframe, but I don't thinkt that should matter as the debugger command runs just fine?

My Chrome version: 44.0.2403.89

--
You received this message because you are subscribed to the Google Groups "Google Chrome Developer Tools" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-chrome-developer-tools+unsub...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Google Chrome Developer Tools" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-chrome-developer-tools+unsub...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages