Стек-трейсы
-
StackFrame -
Информация о стеке, представляющая контекст выполнения, со следующими полями:
-
func::SymbolИмя функции, содержащей контекст выполнения.
-
linfo::Nullable{LambdaInfo}LambdaInfo, содержащий контекст выполнения (если он был найден).
-
file::SymbolПуть к файлу, содержащему контекст выполнения.
-
line::IntНомер строки в файле, содержащем контекст выполнения.
-
from_c::BoolИстина, если код из C.
-
inlined::BoolИстина, если код из вложенной рамки.
-
pointer::Int64Представление указателя на контекст выполнения, возвращённое
backtrace.
-
-
StackTrace -
Псевдоним для
Vector{StackFrame}для удобства; возвращается вызовамиstacktraceиcatch_stacktrace.
-
stacktrace([trace::Vector{Ptr{Void}},] [c_funcs::Bool=false]) → StackTrace -
Возвращает стек-трейс в виде вектора
StackFrame. (По умолчанию стек-трейс не возвращает функции C, но это можно включить.) При вызове без указания трейса,stacktraceсначала вызываетbacktrace.
-
catch_stacktrace([c_funcs::Bool=false]) → StackTrace -
Возвращает стек-трейс для последней сгенерированной ошибки, а не текущего контекста выполнения.
Следующие методы и типы в Base.StackTraces не экспортируются и должны вызываться, например, как StackTraces.lookup(ptr).
-
lookup(pointer::Union{Ptr{Void}, UInt}) → Vector{StackFrame} -
По заданному указателю на контекст выполнения (обычно генерируется вызовом
backtrace), ищет информацию о контексте фрейма стека. Возвращает массив информации о фреймах для всех вложенных функций в этом месте, начиная с самой внутренней функции.
-
remove_frames!(stack::StackTrace, name::Symbol) -
Принимает
StackTrace(векторStackFrames) и имя функции (Symbol) и удаляетStackFrameпо имени функции изStackTrace(удаляя также все фреймы выше указанной функции). В основном используется для удаления функцийStackTracesизStackTraceперед его возвращением.
© 2009–2016 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/release-0.5/stdlib/stacktraces/