-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This change completes Vikraman's sketch of the functionality. It: - Removes the error calls (replacing them with logging) - Simplifies the single stepping implementation - Redesigns the symbolic execution state management and rendering The issue with the state management was that symbolic execution state was duplicated between the core and the brick UI in a way that allowed them to get out of sync. This mean that changes to the core state (e.g., as users advance the suspended state via commands) were not reflected in the UI (as the UI state was stale). To fix this, all updates to the symbolic execution state now go through a new distinguished message (the handler for which applies the update). This allows the frontends to apply additional processing to observe all of these updates and regenerate the UI state whenever there is a relevant update. This also simplifies the symbolic execution widget, which now only returns its own updated state (and handles any state updates via message passing). Some other changes included with this change: - There is an option for adding calling context information for generated log entries - Extracts the core symbolic execution state handlers and puts them back into the core where they belong - Make symbolic execution session state updates safer (remove mergeSessionState) Closes #74 (integrated with these changes) Revises the handling of the breakpoint override Instead of having the debug execution feature identify breakpoints, implement a body for the breakpoint override that starts the debugger. This makes handling of breakpoints and debug assertions the same. Co-authored-by: Vikraman Choudhury <[email protected]>
- Loading branch information
Showing
25 changed files
with
667 additions
and
282 deletions.
There are no files selected for viewing
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
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
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
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
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
Oops, something went wrong.