IEx.Pry
The low-level API for prying sessions and setting up breakpoints.
Summary
Types
Functions
- break(module, function, arity, breaks \\ 1)
Sets up a breakpoint on the given module/function/arity.
- break(module, function, args, guard, env, breaks \\ 1)
Sets up a breakpoint on the given module/function/args with the given
guard.- break!(module, function, arity, breaks \\ 1)
Raising variant of
break/4.- break!(module, function, args, guard, env, breaks \\ 1)
Raising variant of
break/6.- breaks()
Returns all breakpoints.
- pry(binding, env)
Callback for
IEx.pry/0.- remove_breaks()
Removes all breakpoints on all modules.
- remove_breaks(module)
Removes breakpoints in the given module.
- reset_break(id)
Resets the breaks on a given breakpoint ID.
- reset_break(module, function, arity)
Resets the breaks for the given
module,functionandarity.- whereami(file, line, radius)
Formats the location for
whereami/3prying.
Types
break()Source
Specs
break() :: {id(), module(), {function(), arity()}, pending :: non_neg_integer()} break_error()Source
Specs
break_error() :: :recompilation_failed | :no_beam_file | :unknown_function_arity | :missing_debug_info | :outdated_debug_info | :non_elixir_module
id()Source
Specs
id() :: integer()
Functions
break(module, function, arity, breaks \\ 1)Source
Specs
break(module(), atom(), arity(), non_neg_integer()) ::
{:ok, id()} | {:error, break_error()} Sets up a breakpoint on the given module/function/arity.
break(module, function, args, guard, env, breaks \\ 1)Source
Specs
break(
module(),
atom(),
[Macro.t()],
Macro.t(),
Macro.Env.t(),
non_neg_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)Source
Specs
break!(module(), atom(), arity(), non_neg_integer()) :: id()
Raising variant of break/4.
break!(module, function, args, guard, env, breaks \\ 1)Source
Specs
break!( module(), atom(), [Macro.t()], Macro.t(), Macro.Env.t(), non_neg_integer() ) :: id()
Raising variant of break/6.
breaks()Source
Specs
breaks() :: [break()]
Returns all breakpoints.
pry(binding, env)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()Source
Specs
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)Source
Specs
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)Source
Specs
reset_break(id()) :: :ok | :not_found
Resets the breaks on a given breakpoint ID.
reset_break(module, function, arity)Source
Specs
reset_break(module(), atom(), arity()) :: :ok | :not_found
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)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.
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/iex/1.12.0/IEx.Pry.html