-
Notifications
You must be signed in to change notification settings - Fork 5.3k
[wasm][debugger] Move the breakpoint line after applying changes #64359
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
Conversation
… to the next line as it's done by VS will work.
|
Tagging subscribers to this area: @thaystg Issue DetailsAdd test case to prove that changing a line and moving the breakpoint to the next line as it's done by VS will work.
|
|
Tagging subscribers to 'arch-wasm': @lewing Issue DetailsAdd test case to prove that changing a line and moving the breakpoint to the next line as it's done by VS will work.
|
radical
left a comment
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.
LGTM! 👍
lewing
left a comment
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.
This looks fine but I think we should review how we're handling the queued breakpoints and how they get applied. We should also walk through what events are generated when a delta is applied there are some potential complexities with the ordering there.
|
We could decide to: have a list of all breakpoints that are not bind because the line is not valid, and try to bind them again after receiving an apply changes. I'm not sure if this makes sense. I will do more tests in a console app running on coreclr. Because each time that we apply the updates we would need to loop in this list of invalid breakpoints and try to set them again. The events generated when delta is applied are okay I think:
|
When hot-reloading code with new lines added, VS automatically updates the breakpoints by sending Remove/SetBreakpoint commands.
Add a test case for the reload, with simulated VS part.