forgot this
[mono.git] / man / mono.1
1 .\" 
2 .\" mono manual page.
3 .\" (C) Ximian, Inc. 
4 .\" Author:
5 .\"   Miguel de Icaza (miguel@gnu.org)
6 .\"
7 .TH Mono "Mono 1.0"
8 .SH NAME
9 mono \- Mono ECMA-CLI Just in Time compiler.
10 .SH SYNOPSIS
11 .PP
12 .B mono
13 [\-\-help] [\-d] [\-\-debug-asm] [\-\-debug-forest] [\-\-trace-calls]
14 [\-\-compile name] [\-\-ncompile num]  [\-\-noinline] [\-\-profile]
15 [\-\-debug=[format]] [\-\-debug-args args] [\-\-break name] [\-\-precompile name]
16 [\-\-config filename]
17 program.exe [arguments...]
18 .SH DESCRIPTION
19 The \fImono\fP program is a Just in Time compiler for ECMA CLI byte
20 codes.  It translates dynamically a CIL stream into native code. 
21 .I program.exe
22 and optionally passes
23 the
24 .I arguments
25 to it. 
26 .SH OPTIONS
27 The following options are supported:
28 .TP
29 .I "--help", "-h"
30 Displays usage instructions.
31 .I "--share-code"
32 This mode makes the LoaderOptimization for Application Domains default
33 to sharing code.  This results in slower code, but enables code
34 sharing across application domains.  The default is to maximize for
35 speed, but disallow JITed code sharing across domains.  See
36 System.LoaderOptimization for more information
37 .TP
38 .I "--config filename"
39 Load the specified configuration file instead of the default one(s).
40 The default files are /etc/mono/config and ~/.mono/config or the file
41 specified in the MONO_CONFIG environment variable, if set.
42 .TP
43 .I "--noinline"
44 Disables the code inliner.
45 .TP
46 .SH DEBUGGING OPTIONS
47 The following options are used to debug, or perfomance test the JIT
48 compiler:
49 .TP
50 .I "--trace-calls"
51 Shows method names as they are invoked.
52 .TP
53 .I "--dump-asm"
54 Displays the generated code as methods are invoked.
55 .TP
56 .I "--dump-forest"
57 Displays the basic blocks and the forest of trees that is 
58 created from a stream of CIL opcodes.
59 .TP
60 .I "--compile name"
61 Compiles the method on the given class (namespace.name:methodname) or
62 all classes in the given image (@imagename).
63 .TP
64 .I "--ncompile"
65 Compiles the method a number of times.  If no argument is specified,
66 the method will be compiled a thousand times.
67 .SH DEVELOPMENT OPTIONS
68 The following options are used to debug a JITed application.  They're
69 only useful when running the JIT in a debugger:
70 .TP
71 .I "--debug"
72 Writes out debug information in the given format or in the default format.
73 See DEBUGGING FORMATS for details.
74 .TP
75 .I "--debug-args args"
76 Comma-separated list of additional arguments for the symbol writer.
77 See DEBUGGING FORMATS for details.
78 .TP
79 .I "--break method"
80 Inserts a breakpoint before the method whose name is `method'
81 (namespace.class:methodname).  Use `Main' as method name to insert a breakpoint on the
82 application's main method.
83 .TP
84 .I "--precompile name"
85 Compiles the given class (namespace.name), method (namespace.name:methodname)
86 or all classes in the given image (@imagename) before executing the main
87 application.
88 .TP
89 .I "--profile"
90 Collect profiling information and dump it at the end of the process.
91 .SH DEBUGGING FORMATS
92 The following debugging formats are currently supported:
93 .TP
94 .I "stabs"
95 Writes out stabs debug information.
96 .TP
97 .I "dwarf"
98 Writes out dwarf debug information.
99 .TP
100 .I "mono"
101 Use a symbol file which has been created by MCS.  It can be used to get
102 source lines in stack traces.
103 .PP
104 The "stabs" and "dwarf" formats support the following options:
105 .TP
106 .I "filename=FILENAME"
107 Write debugging information into FILENAME.  This file must be run through
108 the assembler to create an object file.
109 .TP
110 .I "objfile=FILENAME"
111 When automatically assembling the symbol file, write the resulting object
112 file into FILENAME.
113 .TP
114 .I "dont_assemble"
115 Normally, the symbol file is automatically assembled to an object file
116 when you call "mono_debug_make_symbols".  Use this option to disable this
117 behaviour.
118 .TP
119 .I "install_il_files"
120 Put the generated *.il files in the same directory than the assembly they
121 came from.  The default is to put them into the current working directory.
122 .TP
123 .I "dont_update_il_files"
124 Normally, the *.il files are recreated if their assemblies have changed
125 when you call "mono_debug_make_symbols".  Use this option to disable this
126 behaviour.
127 .TP
128 .I "dont_create_il_files"
129 Update the *.il files if their assemblies have changed, but only if the
130 file already exists.
131 .PP
132 .SH ENVIRONMENT VARIABLES
133 .TP
134 .I "MONO_PATH"
135 Provides a search path to mono and mint where to look for library files.
136 Directories are separated by the platform path separator (colons on unix). Example:
137 .B /home/username/lib:/usr/local/mono/lib
138 .PP
139 .TP
140 .I "MONO_DISABLE_SHM"
141 If this variable is set, it disables the Windows I/O Emulation layer,
142 and handles (files, events, mutexes, pipes) will not be shared across
143 processes.  This option is only available on Unix.
144 .TP
145 .I "MONO_CFG_DIR"
146 If set, this variable overrides the default system configuration directory
147 ($PREFIX/etc). It's used to locate machine.config file.
148 .SH FILES
149 On Unix assemblies are loaded from the installation lib directory.  If you set
150 `prefix' to /usr, the assemblies will be located in /usr/lib.  On
151 Windows, the assemblies are loaded from the directory where mono and
152 mint live.
153 .PP
154 /etc/mono/config, ~/.mono/config
155 .IP
156 Mono runtime configuration file.  See the mono-config(5) manual page
157 for more information.
158 .SH MAILING LISTS
159 Visit http://mail.ximian.com/mailman/mono-list for details.
160 .SH WEB SITE
161 Visit: http://www.go-mono.com for details
162 .SH SEE ALSO
163 .BR mcs(1), mint(1), monodis(1), mono-config(5)
164
165