4 The Oz Debugger: ozd

The Oz debugger is extensively documented in ``The Mozart Debugger''. We describe it here merely in its incarnation as a command line application. Furthermore, we only document its options.

If you have created an Oz application which you normally start from the shell as follows:

Foo Args ... 

Then you can run it under control of the Oz debugger by using the following command instead:

ozd Foo -- Args ...

Any Oz application can be run in the debugger, but you only get the full benefit of the debugging interface when the code being executed was compiled with the -g option to include debugging information.

The double dash -- separates the arguments intended for ozd from those intended for the application being run under the debugger.

--help, -h, -?

Display information on legal options, then exit

-g, --debugger, --mode=debugger

This option is the default: it starts the debugger. The other possibility is -p to start the profiler (see Chapter 5).

-r, --remotedebugger, --mode=remotedebugger

In this mode of operation, a debugger client is started and connects to a debugger server. The --ticket option is required.

-p, --profiler, --mode=profiler

This is the other mode of operation: it starts the profiler instead (see Chapter 5).

-E, --(no)useemacs

Starts a subordinate Emacs process. This will be used to display the source code currently being debugged. You will also be able to set breakpoints easily on source lines.


Specifies the Emacs binary to run for option -E. The default is $OZEMACS if set, else emacs.


Specifies the ticket to use for option -r to connect to the server.

Denys Duchier, Leif Kornstaedt and Christian Schulte
Version 1.4.0 (20080702)