Skip to content

Rebase our patchset onto Delve v1.21.0 #44

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

Draft
wants to merge 9 commits into
base: upstream-v1.21.0
Choose a base branch
from

Conversation

mark-undoio
Copy link
Contributor

@mark-undoio mark-undoio commented Aug 4, 2023

Rebase our patchset onto the new Delve v1.21.0 release. This contains no behavioural changes, other than those directly caused by the move to v1.21.0 as a base version.

The code structure is changed to simplify the structure of our patchsets, with refactors and bug fixes squashed in where appropriate.

Where certain areas of Undo functionality could be made into logically separate commits I have kept them distinct. Where bug fixes appear to be to core Delve behaviour I have also kept them separate.

gareth-rees and others added 9 commits July 21, 2023 16:52
In Undo, debuggee state is immutable during replay, so reading the G
pointer via code injection won't work; and in any case, this approach
is simpler.
* Update the documentation to mention UDB or LiveRecorder alongside rr.
* Add makefile support for testing the Undo backend.
* Add DLV_RECORD_REPLAY_BACKEND environment variable which overrides
  the record-replay backend, for use in GoLand.
* Implement checkpoints as a map from checkpoint number to time.
* Suppress resume call after restart.
* Implement "when" command using "get_time" serial command.
* Implement call injection using "set_debuggee_volatile".
* Implement "restart" using "goto_time".
* Enable or disable Undo backend appropriately in test cases.
This fixes a bug in which it was not possible to reverse debug after a stepping
operation e.g. next encountered the end of recorded history.
The error handling here was a bit painful but only needs doing in these two
places (for now).
This is made compatible with UDB's bookmarks by using the UDB bookmark name as
the "Note" field in Delve. To save Delve checkpoints, the "Note" must be made
unique, so as to be a valid bookmark name in UDB.
@mark-undoio mark-undoio changed the title Draft v1.21.0 undo 0 Rebase our patchset onto Delve v1.21.0 Aug 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants