2002-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[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 .SH DEBUGGING OPTIONS
46 The following options are used to debug, or perfomance test the JIT
47 compiler:
48 .TP
49 .I "--trace-calls"
50 Shows method names as they are invoked.
51 .TP
52 .I "--dump-asm"
53 Displays the generated code as methods are invoked.
54 .TP
55 .I "--dump-forest"
56 Displays the basic blocks and the forest of trees that is 
57 created from a stream of CIL opcodes.
58 .TP
59 .I "--compile name"
60 Compiles the method on the given class (namespace.name:methodname) or
61 all classes in the given image (@imagename).
62 .TP
63 .I "--ncompile"
64 Compiles the method a number of times.  If no argument is specified,
65 the method will be compiled a thousand times.
66 .SH DEVELOPMENT OPTIONS
67 The following options are used to debug a JITed application.  They're
68 only useful when running the JIT in a debugger:
69 .TP
70 .I "--debug=[format]"
71 Writes out debug information in the given format or in the default format.
72 See DEBUGGING FORMATS for details.
73 .TP
74 .I "--debug-args args"
75 Comma-separated list of additional arguments for the symbol writer.
76 See DEBUGGING FORMATS for details.
77 .TP
78 .I "--break method"
79 Inserts a breakpoint before the method whose name is `method'
80 (namespace.class:methodname).  Use `Main' as method name to insert a breakpoint on the
81 application's main method.
82 .TP
83 .I "--precompile name"
84 Compiles the given class (namespace.name), method (namespace.name:methodname)
85 or all classes in the given image (@imagename) before executing the main
86 application.
87 .TP
88 .I "--profile"
89 Collect profiling information and dump it at the end of the process.
90 .SH DEBUGGING FORMATS
91 The following debugging formats are currently supported:
92 .TP
93 .I "stabs"
94 Writes out stabs debug information.
95 .TP
96 .I "dwarf"
97 Writes out dwarf debug information.
98 .TP
99 .I "mono"
100 Use a symbol file which has been created by MCS.  It can be used to get
101 source lines in stack traces.
102 .PP
103 The "stabs" and "dwarf" formats support the following options:
104 .TP
105 .I "filename=FILENAME"
106 Write debugging information into FILENAME.  This file must be run through
107 the assembler to create an object file.
108 .TP
109 .I "objfile=FILENAME"
110 When automatically assembling the symbol file, write the resulting object
111 file into FILENAME.
112 .TP
113 .I "dont_assemble"
114 Normally, the symbol file is automatically assembled to an object file
115 when you call "mono_debug_make_symbols".  Use this option to disable this
116 behaviour.
117 .TP
118 .I "install_il_files"
119 Put the generated *.il files in the same directory than the assembly they
120 came from.  The default is to put them into the current working directory.
121 .TP
122 .I "dont_update_il_files"
123 Normally, the *.il files are recreated if their assemblies have changed
124 when you call "mono_debug_make_symbols".  Use this option to disable this
125 behaviour.
126 .TP
127 .I "dont_create_il_files"
128 Update the *.il files if their assemblies have changed, but only if the
129 file already exists.
130 .PP
131 .SH FILES
132 On Unix assemblies are loaded from the installation lib directory.  If you set
133 `prefix' to /usr, the assemblies will be located in /usr/lib.  On
134 Windows, the assemblies are loaded from the directory where mono and
135 mint live.
136 .PP
137 /etc/mono/config, ~/.mono/config
138 .IP
139 Mono runtime configuration file.  See the mono-config(5) manual page
140 for more information.
141 .SH MAILING LISTS
142 Visit http://mail.ximian.com/mailman/mono-list for details.
143 .SH WEB SITE
144 Visit: http://www.go-mono.com for details
145 .SH SEE ALSO
146 .BR mcs(1), mint(1), monodis(1), mono-config(5)
147
148