.\" .\" mono manual page. .\" (C) Ximian, Inc. .\" Author: .\" Miguel de Icaza (miguel@gnu.org) .\" .TH Mono "Mono 1.0" .SH NAME mono \- Mono ECMA-CLI Just in Time compiler. .SH SYNOPSIS .PP .B 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...] .SH DESCRIPTION The \fImono\fP program is a Just in Time compiler for ECMA CLI byte codes. It translates dynamically a CIL stream into native code. .I program.exe and optionally passes the .I arguments to it. .SH OPTIONS The following options are supported: .TP .I "--help", "-h" Displays usage instructions. .TP .I "--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 .TP .I "--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. .TP .I "--noinline" Disables the code inliner. .TP .SH DEBUGGING OPTIONS The following options are used to debug, or perfomance test the JIT compiler: .TP .I "--trace-calls" Shows method names as they are invoked. .TP .I "--dump-asm" Displays the generated code as methods are invoked. .TP .I "--dump-forest" Displays the basic blocks and the forest of trees that is created from a stream of CIL opcodes. .TP .I "--compile name" Compiles the method on the given class (namespace.name:methodname) or all classes in the given image (@imagename). .TP .I "--ncompile" Compiles the method a number of times. If no argument is specified, the method will be compiled a thousand times. .SH DEVELOPMENT OPTIONS The following options are used to debug a JITed application. They're only useful when running the JIT in a debugger: .TP .I "--debug" Writes out debug information in the given format or in the default format. See DEBUGGING FORMATS for details. .TP .I "--debug-args args" Comma-separated list of additional arguments for the symbol writer. See DEBUGGING FORMATS for details. .TP .I "--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. .TP .I "--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. .TP .I "--profile" Collect profiling information and dump it at the end of the process. .SH DEBUGGING FORMATS The following debugging formats are currently supported: .TP .I "stabs" Writes out stabs debug information. .TP .I "dwarf" Writes out dwarf debug information. .TP .I "mono" Use a symbol file which has been created by MCS. It can be used to get source lines in stack traces. .PP The "stabs" and "dwarf" formats support the following options: .TP .I "filename=FILENAME" Write debugging information into FILENAME. This file must be run through the assembler to create an object file. .TP .I "objfile=FILENAME" When automatically assembling the symbol file, write the resulting object file into FILENAME. .TP .I "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. .TP .I "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. .TP .I "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. .TP .I "dont_create_il_files" Update the *.il files if their assemblies have changed, but only if the file already exists. .PP .SH ENVIRONMENT VARIABLES .TP .I "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: .B /home/username/lib:/usr/local/mono/lib .PP .TP .I "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. .TP .I "MONO_CFG_DIR" If set, this variable overrides the default system configuration directory ($PREFIX/etc). It's used to locate machine.config file. .TP .I "GC_DONT_GC" Turns off the garbage collection in Mono. This should be only used for debugging purposes .TP .I "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. .SH 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. .PP /etc/mono/config, ~/.mono/config .IP Mono runtime configuration file. See the mono-config(5) manual page for more information. .SH MAILING LISTS Visit http://lists.ximian.com/mailman/listinfo/mono-list for details. .SH WEB SITE Visit: http://www.go-mono.com for details .SH SEE ALSO .BR mcs(1), mint(1), monodis(1), mono-config(5)