StackTraces

Base.StackTraces.StackFrameType
StackFrame

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.

source
Base.StackTraces.stacktraceFunction
stacktrace([trace::Vector{Ptr{Cvoid}},] [c_funcs::Bool=false]) -> StackTrace

Devuelve un rastreo de pila en forma de un vector de StackFrames. (Por defecto, stacktrace no devuelve funciones C, pero esto se puede habilitar). Cuando se llama sin especificar un rastreo, stacktrace primero llama a backtrace.

source

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.lookupFunction
lookup(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.

source
Base.StackTraces.remove_frames!Function
remove_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.

source
remove_frames!(stack::StackTrace, m::Module)

Devuelve el StackTrace con todos los StackFrames del Module proporcionado eliminados.

source