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)