StackTraces

Base.StackTraces.StackFrameType
StackFrame

Stapelinformationen, die den Ausführungskontext darstellen, mit den folgenden Feldern:

  • func::Symbol

    Der 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::Symbol

    Der Pfad zur Datei, die den Ausführungskontext enthält.

  • line::Int

    Die Zeilennummer in der Datei, die den Ausführungskontext enthält.

  • from_c::Bool

    Wahr, wenn der Code von C stammt.

  • inlined::Bool

    Wahr, wenn der Code von einem inlined Frame stammt.

  • pointer::UInt64

    Darstellung des Zeigers auf den Ausführungskontext, wie von backtrace zurückgegeben.

source
Base.StackTraces.StackTraceType
StackTrace

Ein Alias für Vector{StackFrame}, der zur Bequemlichkeit bereitgestellt wird; wird von Aufrufen von stacktrace zurückgegeben.

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

Gibt 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.

source

Die folgenden Methoden und Typen in Base.StackTraces sind nicht exportiert und müssen z.B. als StackTraces.lookup(ptr) aufgerufen werden.

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

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

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

Gibt den StackTrace zurück, bei dem alle StackFrames aus dem angegebenen Module entfernt wurden.

source