IEx.Pry View Source
The low-level API for prying sessions and setting up breakpoints.
Link to this section Summary
Functions
Sets up a breakpoint on the given module/function/arity
Sets up a breakpoint on the given module/function/args with the given guard
Raising variant of break/4
Raising variant of break/6
Returns all breakpoints
Callback for IEx.pry/0
Removes all breakpoints on all modules
Removes breakpoints in the given module
Resets the breaks on a given breakpoint id
Resets the breaks for the given module, function and arity
Formats the location for whereami/3
prying
Link to this section Types
break()
View Source
break() ::
{id(), module(), {function(), arity()}, pending :: non_neg_integer()}
break() :: {id(), module(), {function(), arity()}, pending :: non_neg_integer()}
break_error()
View Source
break_error() ::
:recompilation_failed
| :no_beam_file
| :unknown_function_arity
| :missing_debug_info
| :outdated_debug_info
| :non_elixir_module
break_error() :: :recompilation_failed | :no_beam_file | :unknown_function_arity | :missing_debug_info | :outdated_debug_info | :non_elixir_module
id()
View Source
id() :: integer()
id() :: integer()
Link to this section Functions
break(module, function, arity, breaks \\ 1)
View Source
break(module(), function(), arity(), pos_integer()) ::
{:ok, id()} | {:error, break_error()}
break(module(), function(), arity(), pos_integer()) :: {:ok, id()} | {:error, break_error()}
Sets up a breakpoint on the given module/function/arity.
break(module, function, args, guard, env, breaks \\ 1)
View Source
break(
module(),
function(),
[Macro.t()],
Macro.t(),
Macro.Env.t(),
pos_integer()
) :: {:ok, id()} | {:error, break_error()}
break( module(), function(), [Macro.t()], Macro.t(), Macro.Env.t(), pos_integer() ) :: {:ok, id()} | {:error, break_error()}
Sets up a breakpoint on the given module/function/args with the given guard
.
It requires an env
to be given to make the expansion of the guards.
break!(module, function, arity, breaks \\ 1)
View Source
break!(module(), function(), arity(), pos_integer()) :: id()
break!(module(), function(), arity(), pos_integer()) :: id()
Raising variant of break/4
.
break!(module, function, args, guard, env, breaks \\ 1)
View Source
break!(
module(),
function(),
[Macro.t()],
Macro.t(),
Macro.Env.t(),
pos_integer()
) :: id()
break!( module(), function(), [Macro.t()], Macro.t(), Macro.Env.t(), pos_integer() ) :: id()
Raising variant of break/6
.
breaks()
View Source
breaks() :: [break()]
breaks() :: [break()]
Returns all breakpoints.
pry(binding, env) View Source
Callback for IEx.pry/0
.
You can invoke this function directly when you are not able to invoke
IEx.pry/0
as a macro. This function expects the binding (from
Kernel.binding/0
) and the environment (from __ENV__/0
).
remove_breaks()
View Source
remove_breaks() :: :ok
remove_breaks() :: :ok
Removes all breakpoints on all modules.
This effectively loads the non-instrumented version of currently instrumented modules into memory.
remove_breaks(module)
View Source
remove_breaks(module()) :: :ok | {:error, :no_beam_file}
remove_breaks(module()) :: :ok | {:error, :no_beam_file}
Removes breakpoints in the given module.
This effectively loads the non-instrumented version of the module into memory.
reset_break(id)
View Source
reset_break(id()) :: :ok | :not_found
reset_break(id()) :: :ok | :not_found
Resets the breaks on a given breakpoint id.
reset_break(module, function, arity) View Source
Resets the breaks for the given module, function and arity.
If the module is not instrumented or if the given function
does not have a breakpoint, it is a no-op and it returns
:not_found
. Otherwise it returns :ok
.
whereami(file, line, radius) View Source
Formats the location for whereami/3
prying.
It receives the file
, line
and the snippet radius
and
returns {:ok, lines}
, where lines is a list of chardata
containing each formatted line, or :error
.
The actual line is especially formatted in bold.