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 |
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.
Location | |
|
A location in the original program source.
SrcLoc | |
|
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.