4.4 Debugging interface: the Debug structure

4.4.2 Trace

The Trace structure manipulates the trace and breakpoint states of functions. There are two different interfaces to the trace and breakpoint manager. The simple one consists of all the functions below except traceFull, and corresponds to the GUI interface.

Note that tracepointing a function overrides any breakpoints it may have, and vice versa.

Breakpoints and tracepoints are set with strings that match functions whose names have that string as a prefix. Therefore, breaking and tracing on a name affects every function whose name has that name as a prefix.

The sophisticated interface is provided by the traceFull function, and for best results should not be used in conjunction with the simple interface.

structure Trace:
  sig
    val breakpoint: string -> unit
    val unbreakpoint: string -> unit
    val unbreakAll: unit -> unit
    val trace: string -> unit
    val untrace: string -> unit
    val untraceAll: unit -> unit
    val traceFull: (string * ('a -> 'b) * ('c -> 'd)) -> unit
  end

breakpoint
unbreakpoint
unbreakAll
trace
untrace
untraceAll
traceFull

MLWorks Reference Manual (version 1.0) - 3 DEC 1996

Generated with Harlequin WebMaker