View Source edb_server_break (edb_core v0.4.0)
Summary
Functions
Returns true if the given process is either on an explicit breakpoint or a step breakpoint. Equivalently, returns true if the given process is on a VM breakpoint.
Types
-opaque breakpoints()
-type call_stack_addrs() :: [CodeAddr :: pos_integer()].
-type call_stack_pattern() :: [mfa() | (CodeAddr :: pos_integer())].
-type line() :: edb:line().
-type vm_breakpoint_reason() :: explicit | {step, pid()}.
Functions
-spec add_explicit(module(), line(), breakpoints()) -> {ok, breakpoints()} | {error, edb:add_breakpoint_error()}.
-spec add_explicits(module(), [line()], breakpoints()) -> {LineResults, breakpoints()} when LineResults :: [{line(), Result}], Result :: ok | {error, edb:add_breakpoint_error()}.
-spec clear_explicit(module(), line(), breakpoints()) -> {ok, removed | vanished, breakpoints()} | {error, not_found}.
-spec clear_explicits(module(), breakpoints()) -> {ok, breakpoints()}.
-spec create() -> breakpoints().
-spec get_explicit_hit(pid(), breakpoints()) -> {ok, #{module := module(), line := line()}} | no_breakpoint_hit.
-spec get_explicits(breakpoints()) -> #{module() => #{line() => []}}.
-spec get_explicits(module(), breakpoints()) -> #{line() => []}.
-spec get_explicits_hit(breakpoints()) -> #{pid() => #{module := module(), line := line()}}.
-spec is_process_trapped(Pid, Breakpoints) -> boolean() when Pid :: pid(), Breakpoints :: breakpoints().
Returns true if the given process is either on an explicit breakpoint or a step breakpoint. Equivalently, returns true if the given process is on a VM breakpoint.
-spec prepare_for_stepping(StepType, Pid, breakpoints()) -> {ok, breakpoints()} | {error, Error} when StepType :: step_over | step_out, Pid :: pid(), Error :: edb:step_error().
-spec prepare_for_stepping_in(Pid, breakpoints()) -> {ok, breakpoints()} | {error, Error} when Pid :: pid(), Error :: edb:step_in_error().
-spec register_breakpoint_event(Module, Line, Pid, Resume, Breakpoints) -> {suspend, explicit | step, breakpoints()} | resume when Breakpoints :: breakpoints(), Module :: module(), Line :: integer(), Pid :: pid(), Resume :: fun(() -> ok).
-spec resume_processes(all | edb_server_sets:set(pid()), breakpoints()) -> breakpoints().