StackTraces

Base.StackTraces.StackFrameType
StackFrame

Informations sur la pile représentant le contexte d'exécution, avec les champs suivants :

  • func::Symbol

    Le nom de la fonction contenant le contexte d'exécution.

  • linfo::Union{Core.MethodInstance, Method, Module, Core.CodeInfo, Nothing}

    L'instance de méthode ou les informations de code contenant le contexte d'exécution (si cela a pu être trouvé), ou le module (pour les expansions de macro).

  • file::Symbol

    Le chemin vers le fichier contenant le contexte d'exécution.

  • line::Int

    Le numéro de ligne dans le fichier contenant le contexte d'exécution.

  • from_c::Bool

    Vrai si le code provient de C.

  • inlined::Bool

    Vrai si le code provient d'une trame en ligne.

  • pointer::UInt64

    Représentation du pointeur vers le contexte d'exécution tel que retourné par backtrace.

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

Renvoie une trace de pile sous la forme d'un vecteur de StackFrames. (Par défaut, stacktrace ne renvoie pas les fonctions C, mais cela peut être activé.) Lorsqu'il est appelé sans spécifier de trace, stacktrace appelle d'abord backtrace.

source

Les méthodes et types suivants dans Base.StackTraces ne sont pas exportés et doivent être appelés par exemple comme StackTraces.lookup(ptr).

Base.StackTraces.lookupFunction
lookup(pointer::Ptr{Cvoid}) -> Vector{StackFrame}

Étant donné un pointeur vers un contexte d'exécution (généralement généré par un appel à backtrace), recherche des informations de contexte de cadre de pile. Renvoie un tableau d'informations de cadre pour toutes les fonctions en ligne à ce moment-là, la fonction la plus interne en premier.

source
Base.StackTraces.remove_frames!Function
remove_frames!(stack::StackTrace, name::Symbol)

Prend un StackTrace (un vecteur de StackFrames) et un nom de fonction (un Symbol) et supprime le StackFrame spécifié par le nom de la fonction du StackTrace (supprimant également tous les frames au-dessus de la fonction spécifiée). Utilisé principalement pour supprimer les StackTraces des fonctions du StackTrace avant de le retourner.

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

Retourne le StackTrace avec tous les StackFrames du Module fourni supprimés.

source