-
Notifications
You must be signed in to change notification settings - Fork 83
Find best locations for breakpoints, expression evaluation, and call frames. #1590
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
Find best locations for breakpoints, expression evaluation, and call frames. #1590
Conversation
…x-locations-breakpoints
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are there any tests for what location is found among possible breakpoints? I'm starting to see that we could accidentally break this logic by adding or removing source mappings in DDC.
Were there any cases where additional source mapped locations would produce a more accurate breakpoint? We could update DDC to produce better source maps if needed. |
Yes, for example, in all cases below there is only one location starting at
In all those cases the heuristic works for now, and adding locations would just make the heuristics return precise match in dart instead of dart location mapped to the start of Update: there is one case I found where adding a location would benefit the debugger (both chrome and dwds): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the test cases!
@nshahan do we have sourcemap test cases in the ddc code for cases like that as well? We could benefit on having them early in our chain of dependencies. |
Our current heuristics for finding the best Dart and JS locations for breakpoints, expression evaluation, and call frames are not giving correct results in some cases:
Update heuristics to account for those cases, and use them consistently.
Closes: #880