Spec-Zone.ru › Haskell 9

GHC.ExecutionStack

Авторские права (c) The University of Glasgow 2013-2015
Лицензия см. libraries/base/LICENSE
Сопровождающий ghc-devs@haskell.org
Стабильность внутренний
Переносимость непереносимый (расширения GHC)
Безопасный Haskell Нет
Язык Haskell2010

Описание

Этот модуль предназначен для эффективного получения трассировок стека. Реализация трассировки стека имеет низкие накладные расходы. Базовый пример использования выглядит так:

import GHC.ExecutionStack

myFunction :: IO ()
myFunction = do
     putStrLn =<< showStackTrace

Для работы этой функции GHC должен быть собран с поддержкой libdw.

user@host:~$ ghc --info | grep libdw
 ,("RTS expects libdw",YES)

Начиная с: base-4.9.0.0

data Location Source

Информация о местоположении адреса из трассировки стека.

Конструкторы

Location

Поля

  • objectName :: String
  • functionName :: String
  • srcLoc :: Maybe SrcLoc

data SrcLoc Source

Местоположение в исходном коде программы.

Конструкторы

SrcLoc

Поля

  • sourceFile :: String
  • sourceLine :: Int
  • sourceColumn :: Int

getStackTrace :: IO (Maybe [Location]) Source

Получить трассировку текущего состояния стека выполнения.

Возвращает Nothing, если на хост-компьютере недоступна поддержка трассировки стека.

showStackTrace :: IO (Maybe String) Source

Получить строковое представление текущего состояния стека выполнения.

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.14.1/docs/libraries/base-4.22.0.0-66f8/GHC-ExecutionStack.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API