OCAMLDEBUG(1) General Commands Manual OCAMLDEBUG(1)

# [NAME](#NAME)

ocamldebug - the OCaml source-level replay debugger.

# [SYNOPSIS](#SYNOPSIS)

**ocamldebug** \[ *options* ] *program* \[ *arguments* ]

# [DESCRIPTION](#DESCRIPTION)

**ocamldebug** is the OCaml source-level replay debugger.

Before the debugger can be used, the program must be compiled and linked with the **-g** option: all .cmo and .cma files that are part of the program should have been created with **ocamlc -g**, and they must be linked together with **ocamlc -g**.

Compiling with **-g** entails no penalty on the running time of programs: object files and bytecode executable files are bigger and take longer to produce, but the executable files run at exactly the same speed as if they had been compiled without **-g**.

# [OPTIONS](#OPTIONS)

A summary of options are included below. For a complete description, see the html documentation in the ocaml-doc package.

[**-c count**](#c)

Set the maximum number of simultaneously live checkpoints to *count*.

[**-cd dir**](#cd)

Run the debugger program from the working directory *dir*, instead of the current working directory. (See also the **cd** command.)

[**-emacs**](#emacs)

Tell the debugger it is executed under Emacs. (See *The OCaml user's manual* for information on how to run the debugger under Emacs.) Implies **-machine-readable**.

[**-I directory**](#I)

Add *directory* to the list of directories searched for source files and compiled files. (See also the **directory** command.)

[**-machine-readable**](#machine-readable)

Print information in a format more suitable for machines instead of human operators where applicable. For example, when describing a location in a program, such as when printing a backtrace, print the program counter and character offset in a file instead of the filename, line number, and character offset in that line.

[**-s socket**](#s)

Use *socket* for communicating with the debugged program. See the description of the command **set socket** in *The OCaml user's manual* for the format of *socket*.

[**-version**](#version)

Print version string and exit.

[**-vnum**](#vnum)

Print short version number and exit.

[**-help** or **--help**](#help)

Display a short usage summary and exit.

# [INITIALIZATION FILE](#INITIALIZATION_FILE)

When [**ocamldebug**(1)](/man/os/ocaml/ocamldebug.1) is invoked, it will read commands from an initialization file before giving control to the user. The default file is **.ocamldebug** in the current directory if it exists, otherwise **.ocamldebug** in the user's home directory.

Note that you can also use the **source file** command to read commands from a file.

# [SEE ALSO](#SEE_ALSO)

[**ocamlc**(1)](/man/os/ocaml/ocamlc.1).  
*The OCaml user's manual*, chapter "The debugger".

# [AUTHOR](#AUTHOR)

This manual page was written by Sven LUTHER &lt;luther@debian.org&gt;, for the Debian GNU/Linux system (but may be used by others).

---

Document: ocamldebug(1) from ocaml 5.5.1-r0 (Chainguard OS)
Source: https://github.com/ocaml/ocaml
