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.