查看源代码 IEx.Pry (IEx v1.16.2)
用于调试会话和设置断点的低级 API。
概述
函数
在给定的模块/函数/元数上设置断点。
在给定的模块/函数/参数上,使用给定的 guard
设置断点。
返回所有断点。
IEx.pry/0
的回调函数。
删除所有模块上的所有断点。
删除给定模块中的断点。
重置给定断点 ID 上的断点。
重置给定 module
、function
和 arity
的断点。
为 whereami/3
调试格式化位置。
类型
函数
@spec break(module(), atom(), arity(), non_neg_integer()) :: {:ok, id()} | {:error, break_error()}
在给定的模块/函数/元数上设置断点。
@spec break( module(), atom(), [Macro.t()], Macro.t(), Macro.Env.t(), non_neg_integer() ) :: {:ok, id()} | {:error, break_error()}
在给定的模块/函数/参数上,使用给定的 guard
设置断点。
它需要一个 env
来展开守卫。
@spec break!(module(), atom(), arity(), non_neg_integer()) :: id()
break/4
的抛出变体。
@spec break!( module(), atom(), [Macro.t()], Macro.t(), Macro.Env.t(), non_neg_integer() ) :: id()
break/6
的抛出变体。
@spec breaks() :: [break()]
返回所有断点。
IEx.pry/0
的回调函数。
当无法将 IEx.pry/0
作为宏调用时,可以直接调用此函数。此函数期望绑定(来自 binding/0
)和环境(来自 __ENV__/0
)。
@spec remove_breaks() :: :ok
删除所有模块上的所有断点。
这实际上将当前已插入模块的未插入版本加载到内存中。
@spec remove_breaks(module()) :: :ok | {:error, :no_beam_file}
删除给定模块中的断点。
这实际上将模块的未插入版本加载到内存中。
@spec reset_break(id()) :: :ok | :not_found
重置给定断点 ID 上的断点。
重置给定 module
、function
和 arity
的断点。
如果 module
未插入,或给定的 function
没有断点,则为无操作,并返回 :not_found
。否则返回 :ok
。
为 whereami/3
调试格式化位置。
它接收 file
、line
和代码片段 radius
,并返回 {:ok, lines}
,其中 lines 是一个包含每个格式化行的字符数据的列表,或 :error
。
实际行以粗体格式特别显示。