StackTraces
Base.StackTraces.StackFrame — TypeStackFrame実行コンテキストを表すスタック情報で、以下のフィールドがあります:
func::Symbol実行コンテキストを含む関数の名前。
linfo::Union{Method, Core.MethodInstance, Core.CodeInstance, Core.CodeInfo, Nothing}実行コンテキストを含むMethod、MethodInstance、CodeInstance、またはCodeInfo(見つかった場合)、または何もない(例えば、インライン化がマクロ展開の結果であった場合)。
file::Symbol実行コンテキストを含むファイルへのパス。
line::Int実行コンテキストを含むファイルの行番号。
from_c::BoolコードがCからのものである場合は真。
inlined::Boolコードがインラインフレームからのものである場合は真。
pointer::UInt64backtraceによって返される実行コンテキストへのポインタの表現。
Base.StackTraces.StackTrace — TypeStackTrace便利のために提供される Vector{StackFrame} のエイリアスであり、stacktrace への呼び出しによって返されます。
Base.StackTraces.stacktrace — Functionstacktrace([trace::Vector{Ptr{Cvoid}},] [c_funcs::Bool=false]) -> StackTraceStackFrameのベクターの形式でスタックトレースを返します。(デフォルトではstacktraceはC関数を返しませんが、これを有効にすることができます。)トレースを指定せずに呼び出すと、stacktraceは最初にbacktraceを呼び出します。
Base.StackTraces内の以下のメソッドと型はエクスポートされておらず、例えばStackTraces.lookup(ptr)のように呼び出す必要があります。
Base.StackTraces.lookup — Functionlookup(pointer::Ptr{Cvoid}) -> Vector{StackFrame}実行コンテキストへのポインタ(通常はbacktraceの呼び出しによって生成される)を指定して、スタックフレームのコンテキスト情報を検索します。その時点でインライン化されたすべての関数のフレーム情報の配列を返し、最も内側の関数が最初に来ます。
Base.StackTraces.remove_frames! — Functionremove_frames!(stack::StackTrace, m::Module)指定された Module からすべての StackFrame を削除した StackTrace を返します。
remove_frames!(stack::StackTrace, name::Symbol)StackTrace(StackFramesのベクター)と関数名(Symbol)を受け取り、指定された関数名によって指定されたStackFrameをStackTraceから削除します(指定された関数の上にあるすべてのフレームも削除します)。主に、返す前にStackTraceから関数のStackTracesを削除するために使用されます。