[医]堆垛机
# *`基地。StackTraces。[医]堆叠框架`*-类型
StackFrame
表示执行上下文的堆栈信息,包含以下字段:
* func::符号
包含执行上下文的函数的名称。
* 林佛::联合{Method, Core.MethodInstance, Core.CodeInstance, Core.CodeInfo, Nothing}
包含执行上下文的方法、MethodInstance、CodeInstance或CodeInfo(如果可以找到),或者什么都没有(例如,如果内联是宏展开的结果)。
* 文件::符号
包含执行上下文的文件的路径。
* 行::Int
包含执行上下文的文件中的行号。
* from_c::Bool
如果代码来自C,则为True。
* 内联::Bool
如果代码来自内联框架,则为True。
* 指针::UInt64
返回的指向执行上下文的指针的表示形式 后退,后退.
# *`基地。StackTraces。[医]堆垛机`*-函数
stacktrace([trace::Vector{Ptr{Cvoid}},] [c_funcs::Bool=false]) -> StackTrace
以vector的形式返回堆栈跟踪 [医]堆叠框架s.(默认情况下stacktrace不返回C函数,但这可以启用。)在未指定跟踪的情况下调用时, [医]堆垛机 第一次来电 后退,后退.
以下方法和类型在 基地。[医]堆垛机 不导出,需要调用,例如 StackTraces。查阅(ptr).
# *`基地。StackTraces。查阅资料`*-函数
lookup(pointer::Ptr{Cvoid}) -> Vector{StackFrame}
给定一个指向执行上下文的指针(通常由调用 后退,后退),查找堆栈帧上下文信息。 返回在该点内联的所有函数的帧信息数组,最内层函数优先。
# *`基地。StackTraces。remove_frames!`*-函数
remove_frames!(stack::StackTrace, m::Module)
归还 [医]堆垛机 与所有 [医]堆叠框架s从提供 模块 移走。
remove_frames!(stack::StackTrace, name::Symbol)
需要一个 [医]堆垛机 (一个向量的 堆叠框架)和一个函数名(a 符号)并删除 [医]堆叠框架 由函数名指定 [医]堆垛机 (也删除指定函数上方的所有帧)。 主要用于清除 [医]堆垛机 来自 [医]堆垛机 在归还之前。