-
Notifications
You must be signed in to change notification settings - Fork 375
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
fix(gnovm/debugger): support breakpoints in loop bodies #2251
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
A breakpoint in a loop body was working only the first time, and was ignored the next times, letting 'continue' to skip over it. This is fixed by updating the debugger previous code location state variable at each VM cycle, instead of just when used by 'step'. This also corrects similar variants, like breakpoints working only once in recursive function calls. Thank you @jaekwon for raising the issue and discussing the solution.
mvertes
requested review from
jaekwon,
moul,
piux2,
deelawn and
thehowl
as code owners
May 31, 2024 12:15
mvertes
changed the title
fix: a breakpoint in a loop body was working only once.
fix(gnovm): a breakpoint in a loop body was working only once.
May 31, 2024
mvertes
changed the title
fix(gnovm): a breakpoint in a loop body was working only once.
fix(gnovm): a breakpoint in a loop body was working only once.
May 31, 2024
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #2251 +/- ##
==========================================
+ Coverage 49.93% 54.62% +4.69%
==========================================
Files 576 577 +1
Lines 77827 78161 +334
==========================================
+ Hits 38861 42696 +3835
+ Misses 35840 32268 -3572
- Partials 3126 3197 +71
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
thehowl
approved these changes
May 31, 2024
thehowl
changed the title
fix(gnovm): a breakpoint in a loop body was working only once.
fix(gnovm/debugger): support breakpoints in loop bodies
May 31, 2024
DIGIX666
pushed a commit
to DIGIX666/gno
that referenced
this pull request
Jun 2, 2024
A gnovm debugger breakpoint in a loop body was working only the first time, and was ignored the next times, letting 'continue' to skip over it. This is fixed by updating the debugger previous code location state variable at each VM cycle, instead of just when used by 'step'. This also corrects similar variants, like breakpoints working only once in recursive function calls. Thank you @jaekwon for raising the issue and discussing the solution. <!-- please provide a detailed description of the changes made in this pull request. --> <details><summary>Contributors' checklist...</summary> - [*] Added new tests, or not needed, or not feasible - [*] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [*] Updated the official documentation or not needed - [*] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [ ] Added references to related issues and PRs - [ ] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md). </details>
omarsy
pushed a commit
to TERITORI/gno
that referenced
this pull request
Jun 3, 2024
A gnovm debugger breakpoint in a loop body was working only the first time, and was ignored the next times, letting 'continue' to skip over it. This is fixed by updating the debugger previous code location state variable at each VM cycle, instead of just when used by 'step'. This also corrects similar variants, like breakpoints working only once in recursive function calls. Thank you @jaekwon for raising the issue and discussing the solution. <!-- please provide a detailed description of the changes made in this pull request. --> <details><summary>Contributors' checklist...</summary> - [*] Added new tests, or not needed, or not feasible - [*] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [*] Updated the official documentation or not needed - [*] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [ ] Added references to related issues and PRs - [ ] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md). </details>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A gnovm debugger breakpoint in a loop body was working only the first time, and was ignored the next times, letting 'continue' to skip over it.
This is fixed by updating the debugger previous code location state variable at each VM cycle, instead of just when used by 'step'.
This also corrects similar variants, like breakpoints working only once in recursive function calls.
Thank you @jaekwon for raising the issue and discussing the solution.
Contributors' checklist...
BREAKING CHANGE: xxx
message was included in the description