New issue
Advanced search Search tips

Issue 630184 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 590363
Owner: ----
Closed: Jul 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Devtools async calls stacktrace context and exception handling when debugging

Reported by michelra...@gmail.com, Jul 21 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2665.0 Safari/537.36

Steps to reproduce the problem:
Problem 1

1. Have the devtools Async stack trace enabled
2. Have a javascript function that is called from an ajax callback or a setTimeout callback and set a breakpoint inside it.

Problem 2

1. Have a function F that calls function X.
2. Inside function X have a try/catch block, and inside the try block just have <throw "";>

What is the expected behavior?
Problem 1

When the breakpoint hits, I want to navigate on the async callstack and have access to the variables in each scope from the callstack.

Problem 2

When I debug function F with <Step Over> and reach the point that F calls X and I hit F10, the debugger somehow breaks and does not steps to the next line after the call to X, just like I would hit F8.

What went wrong?
Problem 1

The async callstack scope was available in previous versions and I would like to know if I could re-enable this or if it was permanently removed.
Right now, when I click on a line from the async callstack it will take me to that location and highlight the line, I cannot see debugger line there and cannot access any local variable.
In the Picture1 you can see that the execution is in function f at line 12, I'm on the callstack in function a at line 18, and when I want to go deeper in the async callstack in anonymous function at line 24, I cannot reach that point to see it's scope variables (for example I cannot see the value of a1 anymore.

Problem 2

Let's assume the code from Picture2, with function a calling function f, and inside function f we have a try/catch block which always throws something. When I reach at line 18 where I call f, and hit F10 (step over), the debugger will not step over it and stop at line 19 but instead it will somehow crash and continue like I would hit F8 and exit debugging or stop at the next breakpoint.
This is very annoying when debugging code that uses jQuery Sizzle because it uses a try/catch block where it often throws an DOMException, and this causes me not to be able to debug my code because the debugger always breaks when there is an exception somewhere in the function that I call. To solve this I have to set breakpoints after each function call so that I can be sure that I can continue debugging after that call.

Thank you!

Did this work before? Yes 

Chrome version: 51.0.2665.0  Channel: dev
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version: Shockwave Flash 22.0 r0
 
Picture1.png
44.7 KB View Download
Picture2.png
73.3 KB View Download

Comment 1 by caseq@chromium.org, Jul 21 2016

Mergedinto: 590363
Status: Duplicate (was: Unconfirmed)
Please do not report two unrelated issues in one bug in the future.
The former problem is by design: we do not capture async scopes for efficiency reasons now (see  issue 590363 )

The latter I can't reproduce, at least unless "Pause on caught expcetions" is off. If the problem persist, please file the issue again, but we'd appreciate you attach the reduction code and, if possible, the video of the problem occurring.

Sign in to add a comment