StackTraces

Base.StackTraces.StackFrameType
StackFrame

Yürütme bağlamını temsil eden yığın bilgisi, aşağıdaki alanlarla birlikte:

  • func::Symbol

    Yürütme bağlamını içeren fonksiyonun adı.

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

    Yürütme bağlamını içeren MethodInstance veya CodeInfo (bulunabilirse) veya Modül (makro genişletmeleri için).

  • file::Symbol

    Yürütme bağlamını içeren dosyanın yolu.

  • line::Int

    Yürütme bağlamını içeren dosyadaki satır numarası.

  • from_c::Bool

    Kodun C'den gelmesi durumunda doğru.

  • inlined::Bool

    Kodun iç içe geçmiş bir çerçeveden gelmesi durumunda doğru.

  • pointer::UInt64

    backtrace tarafından döndürülen yürütme bağlamına işaretçi temsilidir.

source
Base.StackTraces.StackTraceType
StackTrace

stacktrace çağrılarıyla döndürülen, kullanım kolaylığı için sağlanan Vector{StackFrame} için bir takma addır.

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

Bir StackFrame vektörü biçiminde bir yığın izini döndürür. (Varsayılan olarak, stacktrace C işlevlerini döndürmez, ancak bu etkinleştirilebilir.) Bir iz belirtmeden çağrıldığında, stacktrace önce backtrace çağrısını yapar.

source

Aşağıdaki Base.StackTraces içindeki yöntemler ve türler dışa aktarılmamıştır ve StackTraces.lookup(ptr) gibi çağrılmaları gerekmektedir.

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

Bir yürütme bağlamına (genellikle backtrace çağrısıyla oluşturulan) işaretçi verildiğinde, yığın çerçevesi bağlam bilgilerini arar. O noktada iç içe geçmiş tüm işlevler için çerçeve bilgilerini içeren bir dizi döner, en içteki işlev önce gelir.

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

Bir StackTrace (bir StackFrames vektörü) ve bir fonksiyon adı (bir Symbol) alır ve belirtilen fonksiyon adıyla belirtilen StackFrame'i StackTrace'den kaldırır (belirtilen fonksiyonun üzerindeki tüm çerçeveleri de kaldırır). Öncelikle, StackTrace'i döndürmeden önce StackTrace fonksiyonlarını kaldırmak için kullanılır.

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

Verilen Module'dan tüm StackFrame'leri kaldırarak StackTrace'i döndürür.

source