StackTraces
Base.StackTraces.StackFrame
— TypeStackFrame
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.
Base.StackTraces.StackTrace
— TypeStackTrace
stacktrace
çağrılarıyla döndürülen, kullanım kolaylığı için sağlanan Vector{StackFrame}
için bir takma addır.
Base.StackTraces.stacktrace
— Functionstacktrace([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.
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.lookup
— Functionlookup(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.
Base.StackTraces.remove_frames!
— Functionremove_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.
remove_frames!(stack::StackTrace, m::Module)
Verilen Module
'dan tüm StackFrame
'leri kaldırarak StackTrace
'i döndürür.