2002-08-27 Martin Baulig <martin@gnome.org>
[mono.git] / man / mono.1
index b64fea688f81d40296638818b3462314f712fc61..54d3927f5526fd09a8bb370db2c11828a8032078 100644 (file)
@@ -1,5 +1,5 @@
 .\" 
-.\" mint manual page.
+.\" mono manual page.
 .\" (C) Ximian, Inc. 
 .\" Author:
 .\"   Miguel de Icaza (miguel@gnu.org)
@@ -11,7 +11,9 @@ mono \- Mono ECMA-CLI Just in Time compiler.
 .PP
 .B mono
 [\-\-help] [\-d] [\-\-debug-asm] [\-\-debug-forest] [\-\-trace-calls]
-[\-\-stabs] [\-\-compile cname] [\-\-ncompile num] [\-\-debug]
+[\-\-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
@@ -32,6 +34,14 @@ 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.
 .SH DEBUGGING OPTIONS
 The following options are used to debug, or perfomance test the JIT
 compiler:
@@ -46,34 +56,93 @@ Displays the generated code as methods are invoked.
 Displays the basic blocks and the forest of trees that is 
 created from a stream of CIL opcodes.
 .TP
-.I "--stabs"
-Writes out stabs debug information
+.I "--compile name"
+Compiles the method on the given class (namespace.name:methodname) or
+all classes in the given image (@imagename).
 .TP
-.I "--dwarf"
-Writes out dwarf debug information
+.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 "--dwarf-plus"
-Uses an extended debugging information file which has been generated
-by MCS.  This extended debugging information will allow you to debug
-C# source code rather than IL code.  To use it, just run the JIT in
-your debugger and call "mono_debug_make_symbols" each time the program
-stops.
+.I "--debug=[format]"
+Writes out debug information in the given format or in the default format.
+See DEBUGGING FORMATS for details.
 .TP
-.I "--debug method"
-Debugs the method whose name is `method'
+.I "--debug-args args"
+Comma-separated list of additional arguments for the symbol writer.
+See DEBUGGING FORMATS for details.
 .TP
-.I "--compile"
-Compiles the method on the given class (namespace.name:methodname).
+.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 "--ncompile"
-Compiles the method a number of times.  If no argument is specified,
-the method will be compiled a thousand times.
+.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 FILES
-Assemblies are lodaed from the installation lib directory.  If you set
-`prefix' to /usr, the assemblies will be located in /usr/lib.
+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://mail.ximian.com/mailman/mono-list for details.
 .SH WEB SITE
 Visit: http://www.go-mono.com for details
 .SH SEE ALSO
-.BR mint(1), monodis(1)
+.BR mcs(1), mint(1), monodis(1), mono-config(5)
+
+