Rebase our patchset onto Delve v1.21.0#44
Draft
mark-undoio wants to merge 9 commits intoupstream-v1.21.0from
Draft
Rebase our patchset onto Delve v1.21.0#44mark-undoio wants to merge 9 commits intoupstream-v1.21.0from
mark-undoio wants to merge 9 commits intoupstream-v1.21.0from
Conversation
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.
This file contains hidden or 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
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.
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.