StackTraces
Base.StackTraces.StackFrame — TypeStackFrame실행 컨텍스트를 나타내는 스택 정보로, 다음 필드를 포함합니다:
func::Symbol실행 컨텍스트를 포함하는 함수의 이름입니다.
linfo::Union{Core.MethodInstance, Method, Module, Core.CodeInfo, Nothing}실행 컨텍스트를 포함하는 MethodInstance 또는 CodeInfo(찾을 수 있는 경우) 또는 매크로 확장을 위한 모듈입니다.
file::Symbol실행 컨텍스트를 포함하는 파일의 경로입니다.
line::Int실행 컨텍스트를 포함하는 파일의 줄 번호입니다.
from_c::Bool코드가 C에서 온 경우 True입니다.
inlined::Bool코드가 인라인 프레임에서 온 경우 True입니다.
pointer::UInt64backtrace에 의해 반환된 실행 컨텍스트에 대한 포인터의 표현입니다.
Base.StackTraces.StackTrace — TypeStackTrace편의를 위해 제공되는 Vector{StackFrame}의 별칭; stacktrace 호출에 의해 반환됩니다.
Base.StackTraces.stacktrace — Functionstacktrace([trace::Vector{Ptr{Cvoid}},] [c_funcs::Bool=false]) -> StackTrace스택 프레임의 벡터 형태로 스택 트레이스를 반환합니다. (기본적으로 stacktrace는 C 함수를 반환하지 않지만, 이를 활성화할 수 있습니다.) trace를 지정하지 않고 호출하면, 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, name::Symbol)StackTrace(즉, StackFrames의 벡터)와 함수 이름(즉, Symbol)을 받아서, 함수 이름으로 지정된 StackFrame을 StackTrace에서 제거하고(지정된 함수 위의 모든 프레임도 제거함), 주로 반환하기 전에 StackTrace에서 함수의 StackTraces를 제거하는 데 사용됩니다.
remove_frames!(stack::StackTrace, m::Module)제공된 Module에서 모든 StackFrame이 제거된 StackTrace를 반환합니다.