GoogleChrome / devtools-docs

The legacy documentation for Chrome DevTools.
https://developer.chrome.com/devtools
691 stars 177 forks source link

Stepping behavior changes #256

Open Garbee opened 9 years ago

Garbee commented 9 years ago

From trying to help someone in IRC, Paul mentioned some stepping changes were made recently to the debugger. We should figure these changes out and clearly document the differences for developers.

paulirish commented 9 years ago

details here: https://code.google.com/p/chromium/issues/detail?id=432468#c6

new behavior

StepInto/StepOver/StepOut/Pause - should never result in Resume, giving users iterative stepping experience. Thus, now users can iteratively step though all JS tasks, like setTimeout callbacks, event listeners and etc.

For example, if we are stepping Into/Over at the return point of a setTimeout callback, we will stop on whatever is executed next. It may be another setTimeout callback, or a next event listener, or any other async callback.

old behavior

StepInto/Over at the return statement of a top-level callback would just resume the debugger, i.e. as if you have pressed the Resume button. So, for example, there was a problem to step into a specific "click" event listener, if there are a few of them, and the "click" Event Listener breakpoint breaks on the non-interesting one. Now you just do StepOver's.