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