GHC.Stack.CloneStack
| Безопасный Haskell | Нет |
|---|---|
| Язык | Haskell2010 |
Описание
Этот модуль предоставляет интерфейс для захвата состояния стека выполнения потока в целях диагностики: cloneMyStack, cloneThreadStack.
Такой «клонированный» стек можно декодировать с помощью decode в трассировку стека, если включён -finfo-table-map.
Начиная с: base-4.17.0.0
data StackSnapshot Источник
Замороженный снимок состояния стека выполнения.
Начиная с: base-4.17.0.0
Конструкторы
| StackSnapshot !StackSnapshot# |
data StackEntry Источник
Представление места в исходном коде, где кадр возврата был помещён в стек. Это происходит каждый раз при вычислении анализируемого значения case ... of.
Конструкторы
| StackEntry | |
Поля
| |
Экземпляры
| Eq StackEntry Источник | |
Определён в GHC.Internal.Stack.Decode Методы(==) :: StackEntry -> StackEntry -> Bool Источник (/=) :: StackEntry -> StackEntry -> Bool Источник | |
| Show StackEntry Источник | |
Определён в GHC.Internal.Stack.Decode МетодыshowsPrec :: Int -> StackEntry -> ShowS Источник show :: StackEntry -> String Источник showList :: [StackEntry] -> ShowS Источник | |
cloneMyStack :: IO StackSnapshot Источник
Клонировать стек выполняющегося потока
Начиная с: base-4.17.0.0
cloneThreadStack :: ThreadId -> IO StackSnapshot Источник
Клонировать стек потока, идентифицируемого по его ThreadId
Начиная с: base-4.17.0.0
decode :: StackSnapshot -> IO [StackEntry] Источник
Декодировать StackSnapshot в трассировку стека (список StackEntry). Трассировка стека создаётся из кадров возврата с соответствующими записями InfoProvEnt. Чтобы создавать их, используйте флаг GHC -finfo-table-map. Если записей InfoProvEnt нет, возвращается пустой список.
Обратите внимание:
- Чтобы собирать
StackEntryиз библиотек, их также необходимо компилировать с-finfo-table-map. - Из-за оптимизаций GHC (например, встраивания) трассировка стека может меняться в зависимости от параметров и версий GHC.
- Трассировка стека пуста (по замыслу), если в стеке нет кадров возврата. (Они помещаются в стек каждый раз при вычислении анализируемого значения
case ... of.)
Начиная с: 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.14.1/docs/libraries/base-4.22.0.0-66f8/GHC-Stack-CloneStack.html