StackTraces
Base.StackTraces.StackFrame
— TypeStackFrame
Información de la pila que representa el contexto de ejecución, con los siguientes campos:
func::Symbol
El nombre de la función que contiene el contexto de ejecución.
linfo::Union{Core.MethodInstance, Method, Module, Core.CodeInfo, Nothing}
La MethodInstance o CodeInfo que contiene el contexto de ejecución (si se pudo encontrar), o Module (para expansiones de macros).
file::Symbol
La ruta al archivo que contiene el contexto de ejecución.
line::Int
El número de línea en el archivo que contiene el contexto de ejecución.
from_c::Bool
Verdadero si el código es de C.
inlined::Bool
Verdadero si el código es de un marco en línea.
pointer::UInt64
Representación del puntero al contexto de ejecución como lo devuelve
backtrace
.
Base.StackTraces.StackTrace
— TypeStackTrace
Un alias para Vector{StackFrame}
proporcionado por conveniencia; devuelto por llamadas a stacktrace
.
Base.StackTraces.stacktrace
— Functionstacktrace([trace::Vector{Ptr{Cvoid}},] [c_funcs::Bool=false]) -> StackTrace
Devuelve un rastreo de pila en forma de un vector de StackFrame
s. (Por defecto, stacktrace no devuelve funciones C, pero esto se puede habilitar). Cuando se llama sin especificar un rastreo, stacktrace
primero llama a backtrace
.
Los siguientes métodos y tipos en Base.StackTraces
no están exportados y deben ser llamados, por ejemplo, como StackTraces.lookup(ptr)
.
Base.StackTraces.lookup
— Functionlookup(pointer::Ptr{Cvoid}) -> Vector{StackFrame}
Dado un puntero a un contexto de ejecución (generalmente generado por una llamada a backtrace
), busca información del contexto del marco de pila. Devuelve un arreglo de información del marco para todas las funciones en línea en ese punto, comenzando por la función más interna.
Base.StackTraces.remove_frames!
— Functionremove_frames!(stack::StackTrace, name::Symbol)
Toma un StackTrace
(un vector de StackFrames
) y un nombre de función (un Symbol
) y elimina el StackFrame
especificado por el nombre de la función del StackTrace
(eliminando también todos los frames por encima de la función especificada). Se utiliza principalmente para eliminar funciones de StackTraces
del StackTrace
antes de devolverlo.
remove_frames!(stack::StackTrace, m::Module)
Devuelve el StackTrace
con todos los StackFrame
s del Module
proporcionado eliminados.