Spec-Zone.ru › Haskell 9

GHC.Stack.CloneStack

Safe Haskell None
Язык Haskell2010

Описание

Этот модуль предоставляет интерфейс для захвата состояния стека выполнения потока для целей диагностики: cloneMyStack, cloneThreadStack.

Такой "клонированный" стек может быть декодирован с помощью decode в трассировку стека, при условии, что -finfo-table-map включено.

С версии: base-4.17.0.0

data StackSnapshot Source

Замороженное изображение состояния стека выполнения.

С версии: base-4.17.0.0

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

StackSnapshot !StackSnapshot#

data StackEntry Source

Представление расположения источника, где кадр возврата был помещён в стек. Это происходит каждый раз, когда case ... of scrutinee оценивается.

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

StackEntry

Поля

  • functionName :: Строка
  • moduleName :: Строка
  • srcLoc :: Строка
  • closureType :: ClosureType
Примеры использования
Подробности примеров
Show StackEntry Source
Подробности примера

Определено в GHC.Internal.Stack.CloneStack

Методы

showsPrec :: Целое число -> StackEntry -> ShowS Source

show :: StackEntry -> Строка Source

showList :: [StackEntry] -> ShowS Source

Eq StackEntry Source
Подробности примера

Определено в GHC.Internal.Stack.CloneStack

Методы

(==) :: StackEntry -> StackEntry -> Булево Source

(/=) :: StackEntry -> StackEntry -> Булево Source

cloneMyStack :: IO StackSnapshot Source

Клонирует стек потока выполнения.

С версии: base-4.17.0.0

cloneThreadStack :: ThreadId -> IO StackSnapshot Source

Клонирует стек потока, идентифицированного по его ThreadId.

С версии: base-4.17.0.0

decode :: StackSnapshot -> IO [StackEntry] Source

Декодирует StackSnapshot в трассировку стека (список StackEntry). Трассировка стека создаётся из кадров возврата с соответствующими InfoProvEnt записями. Для их генерации используйте флаг GHC -finfo-table-map. Если нет InfoProvEnt записей, возвращается пустой список.

Примечание:

  • Для сбора StackEntry из библиотек, эти библиотеки также должны быть скомпилированы с -finfo-table-map.
  • Из-за оптимизаций GHC (например, встраивания) трассировка стека может меняться при различных параметрах и версиях GHC.
  • Трассировка стека пуста (по умолчанию), если в стеке нет кадров возврата. (Эти кадры помещаются в стек каждый раз, когда оценивается case ... of scrutinee.)

С версии: base-4.17.0.0

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/base-4.21.0.0-8e62/GHC-Stack-CloneStack.html

Spec-Zone.ru

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