Copyright | (c) Galois Inc 2019 |
---|---|
License | BSD3 |
Maintainer | Andrei Stefanescu <andrei@galois.com> |
Stability | provisional |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Lang.Crucible.Simulator.Breakpoint
Description
This module provides execution features for changing the state on breakpoints.
Synopsis
- breakAndReturn :: (IsSymInterface sym, IsSyntaxExtension ext) => CFG ext blocks init ret -> BreakpointName -> Assignment TypeRepr args -> TypeRepr ret -> OverrideSim p sym ext rtp args ret (RegValue sym ret) -> HashMap SomeHandle [BreakpointName] -> IO (ExecutionFeature p sym ext rtp)
Documentation
breakAndReturn :: (IsSymInterface sym, IsSyntaxExtension ext) => CFG ext blocks init ret -> BreakpointName -> Assignment TypeRepr args -> TypeRepr ret -> OverrideSim p sym ext rtp args ret (RegValue sym ret) -> HashMap SomeHandle [BreakpointName] -> IO (ExecutionFeature p sym ext rtp) Source #
This execution feature registers an override for a breakpoint. The override summarizes the execution from the breakpoint to the return from the function (similar to a tail call). This feature requires a map from each function handle to the list of breakpoints in the respective function with this execution feature.