Closed
Bug 1512292
Opened 6 years ago
Closed 6 years ago
[meta] Better stacks in debugger when paused in async code
Categories
(DevTools :: Debugger, enhancement)
DevTools
Debugger
Tracking
(Not tracked)
RESOLVED
DUPLICATE
of bug 1523865
People
(Reporter: jorendorff, Unassigned)
References
Details
(Keywords: meta)
1. Suppose an async function g does `await f()`. f is an async function.
In a later tick, the debugger breaks in f. Only one frame is on the stack
(the frame for f), but the debugger should show:
f()
------------ async boundary
g()
2. Or, if g in turn was called with `await g()` from another async function h,
then we should show that too:
f()
------------ async boundary
g()
h()
(Maybe with another async boundary; that's a UI decision we can defer.)
3. Another test case: g does `await f().then(m);`. The debugger should show:
f()
------------ async boundary
m()
g()
Reporter | ||
Updated•6 years ago
|
Component: JavaScript Engine → Debugger
Product: Core → DevTools
Reporter | ||
Comment 1•6 years ago
|
||
What is hard here?
- Identifying and documenting cases to test (but here we have 3 of them to start with)
- Decrypting the promise object graph
- Exposing all the bits required via Debugger
- Implementing this in the server and making it maintainable
- Determining how the server should present it to the client
- Need a way to express "async boundary"
- Need a way to express "this is like a call frame, only we're going to call it when we get to it (relax, this is fine)"
Updated•6 years ago
|
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•