| 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 | Safe-Inferred | 
| Language | Haskell2010 | 
GHC.ExecutionStack
Description
This is a module for efficient stack traces. This stack trace implementation is considered low overhead. Basic usage looks like this:
import GHC.ExecutionStack
myFunction :: IO ()
myFunction = do
     putStrLn =<< showStackTrace
Your GHC must have been built with libdw support for this to work.
user@host:~$ ghc --info | grep libdw
 ,("RTS expects libdw",YES)
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
 
- getStackTrace :: IO (Maybe [Location])
- showStackTrace :: IO (Maybe String)
Documentation
Location information about an address from a backtrace.
Constructors
| Location | |
| Fields 
 | |
A location in the original program source.
Constructors
| SrcLoc | |
| Fields 
 | |
getStackTrace :: IO (Maybe [Location]) #
Get a trace of the current execution stack state.
Returns Nothing if stack trace support isn't available on host machine.
showStackTrace :: IO (Maybe String) #
Get a string representation of the current execution stack state.