-
Notifications
You must be signed in to change notification settings - Fork 340
"No frames available" error when debugger is paused inside async javascript code. #5287
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I investigated this first solution:
It's a pretty simple change to make that happen (simply set I think the solution I like a bit better is when we go to calculate the stack frames when an app is paused, we include JS frames if there are no dart frames available. I will open up a PR for that. |
I don't think we should show JS frames - they are numerous and not useful. Let's brainstorm on this. |
Adding some notes from discussion:
Related: dart-lang/webdev#2034 |
This has been fixed, we are now showing "No Dart frames, likely paused in JS" ( see #5427) Opened DWDS bug to track what is left for DWDS: dart-lang/webdev#2467 |
Uh oh!
There was an error while loading. Please reload this page.
Repro steps:
Flutter's
example/hello_world
directory:flutter run -d chrome
Chrome does show a list of frames available, but all of them async and pretty sure they are all from js code:
Some background
In this example I paused the app, and hit javascript code with no frames on the stack related to dart.
@elliette looks like the error comes from DevTools, and it happens before the call to
chromeProxyService.evaluateInFrame
.devtools/packages/devtools_app/lib/src/shared/console/eval/eval_service.dart
Line 137 in 79099e8
Potential solutions:
Make dwds continue executing until dart code is hit. Not sure what happens if it never does - in that case the pause will appear not working, so maybe we need a timeout with a warning? This change, if we prefer it, would be most easily done in dwds: Pause in dart code instead of JS when user hits pause? dart-lang/webdev#1999
Or simply assume we only have javascript frames in that case and report an error from DevTools describing that evaluating inside javascript code is not currently supported.
The text was updated successfully, but these errors were encountered: