StackTraces
Base.StackTraces.StackFrame — TypeStackFrameStapelinformationen, die den Ausführungskontext darstellen, mit den folgenden Feldern:
func::SymbolDer Name der Funktion, die den Ausführungskontext enthält.
linfo::Union{Core.MethodInstance, Method, Module, Core.CodeInfo, Nothing}Die MethodInstance oder CodeInfo, die den Ausführungskontext enthält (falls sie gefunden werden konnte), oder Modul (für Makroerweiterungen).
file::SymbolDer Pfad zur Datei, die den Ausführungskontext enthält.
line::IntDie Zeilennummer in der Datei, die den Ausführungskontext enthält.
from_c::BoolWahr, wenn der Code von C stammt.
inlined::BoolWahr, wenn der Code von einem inlined Frame stammt.
pointer::UInt64Darstellung des Zeigers auf den Ausführungskontext, wie von
backtracezurückgegeben.
Base.StackTraces.StackTrace — TypeStackTraceEin Alias für Vector{StackFrame}, der zur Bequemlichkeit bereitgestellt wird; wird von Aufrufen von stacktrace zurückgegeben.
Base.StackTraces.stacktrace — Functionstacktrace([trace::Vector{Ptr{Cvoid}},] [c_funcs::Bool=false]) -> StackTraceGibt einen Stack-Trace in Form eines Vektors von StackFrames zurück. (Standardmäßig gibt stacktrace keine C-Funktionen zurück, aber dies kann aktiviert werden.) Wenn stacktrace ohne Angabe eines Traces aufgerufen wird, ruft es zuerst backtrace auf.
Die folgenden Methoden und Typen in Base.StackTraces sind nicht exportiert und müssen z.B. als StackTraces.lookup(ptr) aufgerufen werden.
Base.StackTraces.lookup — Functionlookup(pointer::Ptr{Cvoid}) -> Vector{StackFrame}Gibt einen Zeiger auf einen Ausführungskontext (normalerweise erzeugt durch einen Aufruf von backtrace) an, um Informationen zum Kontext des Stack-Frames zu suchen. Gibt ein Array von Frame-Informationen für alle an diesem Punkt inlineden Funktionen zurück, wobei die innerste Funktion zuerst kommt.
Base.StackTraces.remove_frames! — Functionremove_frames!(stack::StackTrace, name::Symbol)Nimmt einen StackTrace (ein Vektor von StackFrames) und einen Funktionsnamen (ein Symbol) und entfernt den StackFrame, der durch den Funktionsnamen im StackTrace angegeben ist (entfernt auch alle Frames über der angegebenen Funktion). Wird hauptsächlich verwendet, um StackTraces-Funktionen aus dem StackTrace zu entfernen, bevor er zurückgegeben wird.
remove_frames!(stack::StackTrace, m::Module)Gibt den StackTrace zurück, bei dem alle StackFrames aus dem angegebenen Module entfernt wurden.