Module Core_kernel.Debug
Utilities for printing debug messages.
- val eprint : Core_kernel__.Import.string -> Core_kernel__.Import.unit
- eprint messageprints to stderr- message, followed by a newline and flush. This is the same as- prerr_endline.
- val eprints : Core_kernel__.Import.string -> 'a -> ('a -> Sexp.t) -> Core_kernel__.Import.unit
- eprints message a sexp_of_aprints to stderr- messageand- aas a sexp, followed by a newline and flush.
- val eprint_s : Sexp.t -> Core_kernel__.Import.unit
- eprint_s sexpprints- sexpto stderr, followed by a newline and a flush.
- val eprintf : ('r, Core_kernel__.Import.unit, Core_kernel__.Import.string, Core_kernel__.Import.unit) Core_kernel__.Import.format4 -> 'r
- eprintf message arg1 ... argnprints to stderr- message, with sprintf-style format characters instantiated, followed by a newline and flush.
- module Make : functor () sig ... end
- Debug.Makeproduces a- debugfunction used to wrap a function to display arguments before calling and display results after returning. Intended usage is:
- val am : Source_code_position.t -> Core_kernel__.Import.unit
- am,- ams, and- amfoutput a source code position and backtrace to stderr.- amfaccepts a printf-style format string.- amsaccepts a message, value, and sexp converter for that value. Typical usage looks like:- ...; Debug.am [%here]; ...; Debug.amf [%here] "hello (%s, %s)" (X.to_string x) (Y.to_string y); ...; Debug.ams [%here] "hello" (x, y) <:sexp_of< X.t * Y.t >>; ...;- The - am*functions output source code positions in the standard format "FILE:LINE:COL", which means that one can use a tool like emacs grep-mode on a buffer containing debug messages to step through one's code by stepping through the messages.
- val ams : Source_code_position.t -> Core_kernel__.Import.string -> 'a -> ('a -> Sexp.t) -> Core_kernel__.Import.unit
- val amf : Source_code_position.t -> ('r, Core_kernel__.Import.unit, Core_kernel__.Import.string, Core_kernel__.Import.unit) Core_kernel__.Import.format4 -> 'r
- val should_print_backtrace : Core_kernel__.Import.bool Core_kernel__.Import.ref
- should_print_backtracegoverns whether the- am*functions print a backtrace.