rdbg

RDBG: a reactive programs debugger
Library rdbg
Module RdbgStdLib
val next : Event.t -> Event.t

Compute the next event, call the hooks functions on it, and return that event

val next_np : Event.t -> Event.t
val add_hook : string -> ( Event.t -> unit ) -> unit

Add a function that is called after each next call

val get_hook : string -> Event.t -> unit

Get a hook function (raise Not_found if it does not exist)

val del_hook : string -> unit

Remove a hook

val del_all_hooks : unit -> unit

Remove all hooks

val list_hooks : unit -> string list

List hooks

val nexti : Event.t -> int -> Event.t

Returns the ith next event

val nexti_np : Event.t -> int -> Event.t

Returns the ith next event without printing events

val step : Event.t -> Event.t

go to the next simulation step of the current node

val stepi : Event.t -> int -> Event.t

go to the ith simulation step of the current node

val goto_s : Event.t -> int -> Event.t

go to step number i

val loopforever : Event.t -> unit

loop forever

val show_trace : bool ref

control the printing of skipped events

val show_data : bool ref

control the behavior of print_event

val show_src : bool ref

control the behavior of print_event

val print_event : Event.t -> unit

Print an event

val next_cond : Event.t -> ( Event.t -> bool ) -> Event.t

Returns the next event that satisfies a condition

val next_match : Event.t -> string -> Event.t

Returns the next event s.t. the string arg is a substring of the event name

val v : string -> Event.t -> Data.v

Get the value of an int variable

val vi : string -> Event.t -> int

Get the value of an int variable

val vf : string -> Event.t -> float

Get the value of a float variable

val vb : string -> Event.t -> bool

Get the value of a boolean variable

val print_src : Event.t -> unit

Print some source code information attached to an event

val print_call_stack : Event.t -> unit

print the call stack

val break : string -> unit

add a breapoint on a node or a file. A breakpoint is a string of the form: "node" "node::line" "file" "file::line"

val delete : unit -> unit

Remove all breakpoints

val continue : Event.t -> Event.t

continue to the next breakpoint

val goto_brk : Event.t -> string -> Event.t

Goto to a specific explicit breakpoint (cf 'break' for breakpoints syntax)

val goto : Event.t -> int -> Event.t

go to event nb i

val time_travel : bool -> unit

turns on/on the possibility to run backwards

val ckpt_rate : int ref

Checkpoint rate (that can be changed).

val check_ref : ( Event.t -> bool ) ref

A predicate that control when check-point are done. By default, it is done periodically every !ckpt_rate event.

But of course one can change it (hence the ref)

val ckpt_list : Event.t list ref

List of checkpoints made when !check_ref is true. This list is used and modified by the commands:

  • rev
  • rev_cond
  • back/backi
  • goto
val goto_last_ckpt : int -> Event.t
val rev : Event.t -> Event.t

run backwards until the next breakpoint

val rev_cond : Event.t -> ( Event.t -> bool ) -> Event.t

run backwards until the next breakpoint or condition

val back : Event.t -> Event.t

move one event back

move i events back

val backi : Event.t -> int -> Event.t

move i events back

val run : unit -> Event.t