StackTraces
Base.StackTraces.StackFrame — TypeStackFrameИнформация о стеке, представляющая контекст выполнения, с следующими полями:
func::SymbolИмя функции, содержащей контекст выполнения.
linfo::Union{Core.MethodInstance, Method, Module, Core.CodeInfo, Nothing}Метод или CodeInfo, содержащий контекст выполнения (если он был найден), или Модуль (для макрорасширений).
file::SymbolПуть к файлу, содержащему контекст выполнения.
line::IntНомер строки в файле, содержащем контекст выполнения.
from_c::BoolИстина, если код написан на C.
inlined::BoolИстина, если код из встроенного фрейма.
pointer::UInt64Представление указателя на контекст выполнения, возвращаемое
backtrace.
Base.StackTraces.StackTrace — TypeStackTraceУдобное псевдоним для Vector{StackFrame}; возвращается при вызовах stacktrace.
Base.StackTraces.stacktrace — Functionstacktrace([trace::Vector{Ptr{Cvoid}},] [c_funcs::Bool=false]) -> StackTraceВозвращает трассировку стека в виде вектора StackFrame. (По умолчанию stacktrace не возвращает C функции, но это можно включить.) При вызове без указания трассировки, stacktrace сначала вызывает backtrace.
Следующие методы и типы в Base.StackTraces не экспортируются и должны вызываться, например, как StackTraces.lookup(ptr).
Base.StackTraces.lookup — Functionlookup(pointer::Ptr{Cvoid}) -> Vector{StackFrame}Данная функция принимает указатель на контекст выполнения (обычно создаваемый вызовом backtrace) и ищет информацию о контексте стекового кадра. Возвращает массив информации о кадрах для всех функций, встроенных в эту точку, начиная с самой внутренней функции.
Base.StackTraces.remove_frames! — Functionremove_frames!(stack::StackTrace, name::Symbol)Принимает StackTrace (вектор StackFrames) и имя функции (символ Symbol) и удаляет StackFrame, указанный именем функции, из StackTrace (также удаляя все фреймы выше указанной функции). В основном используется для удаления функций StackTraces из StackTrace перед его возвратом.
remove_frames!(stack::StackTrace, m::Module)Вернет StackTrace с удаленными всеми StackFrame из предоставленного Module.