GHC.ExecutionStack.Internal

base-4.12.0.0: Basic libraries

Copyright | (c) The University of Glasgow 2013-2015
License | see libraries/base/LICENSE
Maintainer | cvs-ghc@haskell.org
Stability | internal
Portability | non-portable (GHC Extensions)
Safe Haskell | None
Language | Haskell2010

GHC.ExecutionStack.Internal

Contents

- Internal

Description

Internals of the `ExecutionStack` module

Since: base-4.9.0.0

Synopsis

- data Location = Location {
  - objectName :: String
  - functionName :: String
  - srcLoc :: Maybe SrcLoc
  }
- data SrcLoc = SrcLoc {
  - sourceFile :: String
  - sourceLine :: Int
  - sourceColumn :: Int
  }
- data StackTrace
- stackFrames :: StackTrace -> Maybe [Location]
- stackDepth :: StackTrace -> Int
- collectStackTrace :: IO (Maybe StackTrace)
- showStackFrames :: [Location] -> ShowS
- invalidateDebugCache :: IO ()

# Internal

data Location #

Location information about an address from a backtrace.

Constructors

Location |
Fields objectName :: String functionName :: String srcLoc :: Maybe SrcLoc

data SrcLoc #

A location in the original program source.

Constructors

SrcLoc |
Fields sourceFile :: String sourceLine :: Int sourceColumn :: Int

data StackTrace #

The state of the execution stack

stackFrames :: StackTrace -> Maybe [Location] #

List the frames of a stack trace.

stackDepth :: StackTrace -> Int #

How many stack frames in the given `StackTrace`

collectStackTrace :: IO (Maybe StackTrace) #

Get an execution stack.

showStackFrames :: [Location] -> ShowS #

Render a stacktrace as a string

invalidateDebugCache :: IO () #

Free the cached debug data.