| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
GHC.Debugger.Run
Contents
Synopsis
- data EvalLog = LogEvalModule Module
- debugExecution :: Recorder (WithSeverity EvalLog) -> FilePath -> EntryPoint -> [String] -> Debugger EvalResult
- doContinue :: Debugger EvalResult
- doSingleStep :: Debugger EvalResult
- doStepOut :: Debugger EvalResult
- doLocalStep :: Debugger EvalResult
- doEval :: String -> Debugger EvalResult
- continueToCompletion :: Debugger ExecResult
- handleExecResult :: ExecResult -> Debugger EvalResult
- inspectName :: Name -> Debugger (Maybe VarInfo)
- getRemoteThreadIdFromContext :: Debugger RemoteThreadId
Documentation
Constructors
| LogEvalModule Module |
Evaluation
Arguments
| :: Recorder (WithSeverity EvalLog) | |
| -> FilePath | |
| -> EntryPoint | |
| -> [String] | Args |
| -> Debugger EvalResult |
Run a program with debugging enabled
doContinue :: Debugger EvalResult Source #
Resume execution of the stopped debuggee program
doSingleStep :: Debugger EvalResult Source #
Resume execution but only take a single step.
doLocalStep :: Debugger EvalResult Source #
Resume execution but stop at the next tick within the same function.
To do a local step, we get the SrcSpan of the current suspension state and
get its enclosingTickSpan to use as a filter for breakpoints in the call
to resumeExec. Execution will only stop at breakpoints whose span matches
this enclosing span.
doEval :: String -> Debugger EvalResult Source #
Evaluate expression. Includes context of breakpoint if stopped at one (the current interactive context).
continueToCompletion :: Debugger ExecResult Source #
Resume execution with single step mode RunToCompletion, skipping all breakpoints we hit, until we reach ExecComplete.
We use this in doEval because we want to ignore breakpoints in expressions given at the prompt.
handleExecResult :: ExecResult -> Debugger EvalResult Source #
Turn a GHC's ExecResult into an EvalResult response