NAME 

mono - Mono ECMA-CLI Just in Time compiler.

SYNOPSIS 

mono [--help] [-d] [--debug-asm] [--debug-forest] [--trace-calls] [--compile name] [--ncompile num] [--noinline] [--profile] [--debug=[format]] [--debug-args args] [--break name] [--precompile name] [--config filename] program.exe [arguments...]

DESCRIPTION 

The mono program is a Just in Time compiler for ECMA CLI byte codes. It translates dynamically a CIL stream into native code. program.exe and optionally passes the arguments to it.

OPTIONS 

The following options are supported:
--help, -h
Displays usage instructions.
--share-code
This mode makes the LoaderOptimization for Application Domains default to sharing code. This results in slower code, but enables code sharing across application domains. The default is to maximize for speed, but disallow JITed code sharing across domains. See System.LoaderOptimization for more information
--config filename
Load the specified configuration file instead of the default one(s). The default files are /etc/mono/config and ~/.mono/config or the file specified in the MONO_CONFIG environment variable, if set.
--noinline
Disables the code inliner.

DEBUGGING OPTIONS 

The following options are used to debug, or perfomance test the JIT compiler:
--trace-calls
Shows method names as they are invoked.
--dump-asm
Displays the generated code as methods are invoked.
--dump-forest
Displays the basic blocks and the forest of trees that is created from a stream of CIL opcodes.
--compile name
Compiles the method on the given class (namespace.name:methodname) or all classes in the given image (@imagename).
--ncompile
Compiles the method a number of times. If no argument is specified, the method will be compiled a thousand times.

DEVELOPMENT OPTIONS 

The following options are used to debug a JITed application. They're only useful when running the JIT in a debugger:
--debug
Writes out debug information in the given format or in the default format. See DEBUGGING FORMATS for details.
--debug-args args
Comma-separated list of additional arguments for the symbol writer. See DEBUGGING FORMATS for details.
--break method
Inserts a breakpoint before the method whose name is `method' (namespace.class:methodname). Use `Main' as method name to insert a breakpoint on the application's main method.
--precompile name
Compiles the given class (namespace.name), method (namespace.name:methodname) or all classes in the given image (@imagename) before executing the main application.
--profile
Collect profiling information and dump it at the end of the process.

DEBUGGING FORMATS 

The following debugging formats are currently supported:
stabs
Writes out stabs debug information.
dwarf
Writes out dwarf debug information.
mono
Use a symbol file which has been created by MCS. It can be used to get source lines in stack traces.

The "stabs" and "dwarf" formats support the following options:

filename=FILENAME
Write debugging information into FILENAME. This file must be run through the assembler to create an object file.
objfile=FILENAME
When automatically assembling the symbol file, write the resulting object file into FILENAME.
dont_assemble
Normally, the symbol file is automatically assembled to an object file when you call "mono_debug_make_symbols". Use this option to disable this behaviour.
install_il_files
Put the generated *.il files in the same directory than the assembly they came from. The default is to put them into the current working directory.
dont_update_il_files
Normally, the *.il files are recreated if their assemblies have changed when you call "mono_debug_make_symbols". Use this option to disable this behaviour.
dont_create_il_files
Update the *.il files if their assemblies have changed, but only if the file already exists.

ENVIRONMENT VARIABLES 

MONO_PATH
Provides a search path to mono and mint where to look for library files. Directories are separated by the platform path separator (colons on unix). Example: /home/username/lib:/usr/local/mono/lib
MONO_DISABLE_SHM
If this variable is set, it disables the Windows I/O Emulation layer, and handles (files, events, mutexes, pipes) will not be shared across processes. This option is only available on Unix.
MONO_CFG_DIR
If set, this variable overrides the default system configuration directory ($PREFIX/etc). It's used to locate machine.config file.
GC_DONT_GC
Turns off the garbage collection in Mono. This should be only used for debugging purposes
MONO_CONFIG
If set, this variable overrides the default runtime configuration file ($PREFIX/etc/mono/config). The --config command line options overrides the environment variable.

FILES 

On Unix assemblies are loaded from the installation lib directory. If you set `prefix' to /usr, the assemblies will be located in /usr/lib. On Windows, the assemblies are loaded from the directory where mono and mint live.

/etc/mono/config, ~/.mono/config

Mono runtime configuration file. See the mono-config(5) manual page for more information.

MAILING LISTS 

Visit http://mail.ximian.com/mailman/mono-list for details.

WEB SITE 

Visit: http://www.go-mono.com for details

SEE ALSO 

mcs(1),mint(1),monodis(1),mono-config(5)