StackTraces
Base.StackTraces.StackFrame
— TypeStackFrame
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
.
Base.StackTraces.StackTrace
— TypeStackTrace
Un alias pour Vector{StackFrame}
fourni pour la commodité ; retourné par les appels à stacktrace
.
Base.StackTraces.stacktrace
— Functionstacktrace([trace::Vector{Ptr{Cvoid}},] [c_funcs::Bool=false]) -> StackTrace
Renvoie une trace de pile sous la forme d'un vecteur de StackFrame
s. (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
.
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.lookup
— Functionlookup(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.
Base.StackTraces.remove_frames!
— Functionremove_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.
remove_frames!(stack::StackTrace, m::Module)
Retourne le StackTrace
avec tous les StackFrame
s du Module
fourni supprimés.