debugger-hs-0.1.1.0: Write your GDB scripts in Haskell.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Debugger.Builder

Synopsis

Documentation

data Builder a Source #

Builder pattern that allows using monadic do-syntax to build a GDB script.

Instances

Instances details
Monad Builder Source # 
Instance details

Defined in Debugger.Builder

Methods

(>>=) :: Builder a -> (a -> Builder b) -> Builder b #

(>>) :: Builder a -> Builder b -> Builder b #

return :: a -> Builder a #

Functor Builder Source # 
Instance details

Defined in Debugger.Builder

Methods

fmap :: (a -> b) -> Builder a -> Builder b #

(<$) :: a -> Builder b -> Builder a #

Applicative Builder Source # 
Instance details

Defined in Debugger.Builder

Methods

pure :: a -> Builder a #

(<*>) :: Builder (a -> b) -> Builder a -> Builder b #

liftA2 :: (a -> b -> c) -> Builder a -> Builder b -> Builder c #

(*>) :: Builder a -> Builder b -> Builder b #

(<*) :: Builder a -> Builder b -> Builder a #

class ToSelection a where Source #

Helper typeclass, used for manipulating 1, many, or all Ids.

Methods

toSelection :: a -> Selection Source #

Instances

Instances details
ToSelection Selection Source # 
Instance details

Defined in Debugger.Builder

ToSelection Id Source # 
Instance details

Defined in Debugger.Builder

ToSelection [Id] Source # 
Instance details

Defined in Debugger.Builder

runBuilder :: Builder a -> Script Source #

Creates a GDB script based on a builder.

break :: Location -> Builder Id Source #

Emits a breakpoint statement. Returns the Id that corresponds with this newly set breakpoint.

command :: Id -> Builder () -> Builder () Source #

Emits a command statement, that should be triggered when a breakpoint is triggered.

continue :: Builder () Source #

Emits a continue statement.

step :: Builder () Source #

Emits a step statement. If you want to step N times, use stepN.

stepN :: Int -> Builder () Source #

Emits a step statement that is repeated N times.

next :: Builder () Source #

Emits a "next" statement. If you want to repeat next N times, use nextN.

nextN :: Int -> Builder () Source #

Emits a "next" statement that is repeated N times.

run :: Builder () Source #

Emits a run statement.

reset :: Builder () Source #

Emits a reset statement.

print :: Expr -> Builder () Source #

Emits a print statement.

set :: Var -> Expr -> Builder () Source #

Emits a set statement.

call :: Expr -> Builder () Source #

Emits a call statement.

delete :: ToSelection a => a -> Builder () Source #

Emits a delete statement.

disable :: ToSelection a => a -> Builder () Source #

Emits a disable statement.

enable :: ToSelection a => a -> Builder () Source #

Emits an enable statement.

source :: FilePath -> Builder () Source #

Emits a source statement.

shell :: ShellCommand -> Builder () Source #

Emits a shell statement.

target :: TargetConfig -> Builder () Source #

Emits a target statement.

info :: InfoOptions -> Builder () Source #

Emits an info statement.