+(namespace.class:methodname). Use `Main' as method name to insert a
+breakpoint on the application's main method.
+.TP
+.I "--breakonex"
+Inserts a breakpoint on exceptions. This allows you to debug your
+application with a native debugger when an exception is thrown.
+.TP
+.I "--trace[=expression]"
+Shows method names as they are invoked. By default all methods are
+traced.
+.Sp
+The trace can be customized to include or exclude methods, classes or
+assemblies. A trace expression is a comma separated list of targets,
+each target can be prefixed with a minus sign to turn off a particular
+target. The words `program' and `all' have special meaning.
+`program' refers to the main program being executed, and `all' means
+all the method calls.
+.Sp
+Assemblies are specified by their name, for example, to trace all
+calls in the System assembly, use:
+.nf
+
+ mono --trace=System app.exe
+
+.fi
+Classes are specified with the T: prefix. For example, to trace all
+calls to the System.String class, use:
+.nf
+
+ mono --trace=T:System.String app.exe
+
+.fi
+And individual methods are referenced with the M: prefix, and the
+standar method notation:
+.nf
+
+ mono --trace=M:System.Console:WriteLine app.exe
+
+.fi
+As previously noted, various rules can be specified at once:
+.nf
+
+ mono --trace=T:System.String,T:System.Random app.exe
+
+.fi
+You can exclude pieces, the next example traces calls to
+System.String except for the System.String:Concat method.
+.nf
+
+ mono --trace=T:System.String,-M:System.String:Concat
+
+.fi
+Finally, namespaces can be specified using the N: prefix:
+.nf
+
+ mono --trace=N:System.Xml
+
+.fi
+.SH DEBUGGING
+.PP
+You can use the MONO_LOG_LEVEL and MONO_LOG_MASK environment variables
+to get verbose debugging output about the execution of your
+application within Mono.
+.PP
+The
+.I MONO_LOG_LEVEL
+environment variable if set, the logging level is changed to the set
+value. Possible values are "error", "critical", "warning", "message",
+"info", "debug". The default value is "error". Messages with a logging
+level greater then or equal to the log level will be printed to
+stdout/stderr.
+.PP
+Use "info" to track the dynamic loading of assemblies.
+.PP
+.PP
+Use the
+.I MONO_LOG_MASK
+environment variable to limit the extent of the messages you get:
+If set, the log mask is changed to the set value. Possible values are
+"asm" (assembly loader), "type", "dll" (native library loader), "gc"
+(garbage collector), "cfg" (config file loader), "aot" (precompiler) and "all".
+The default value is "all". Changing the mask value allows you to display only
+messages for a certain component. You can use multiple masks by comma
+separating them. For example to see config file messages and assembly loader
+messages set you mask to "asm,cfg".
+.PP
+The following is a common use to track down problems with P/Invoke:
+.nf
+ $ MONO_LOG_LEVEL="debug" MONO_LOG_MASK="dll" mono glue.exe
+.fi
+.PP
+.SH SERIALIZATION
+Mono's XML serialization engine by default will use a reflection-based
+approach to serialize which might be slow for continous processing
+(web service applications). The serialization engine will determine
+when a class must use a hand-tuned serializer based on a few
+parameters and if needed it will produce a customized C# serializer
+for your types at runtime. This customized serializer then gets
+dynamically loaded into your application.
+.PP
+You can control this with the MONO_XMLSERIALIZER_THS environment
+variable.
+.PP
+The possible values are
+.B `no'
+to disable the use of a C# customized
+serializer, or an integer that is the minimum number of uses before
+the runtime will produce a custom serializer (0 will produce a
+custom serializer on the first access, 50 will produce a serializer on
+the 50th use).
+.SH ENVIRONMENT VARIABLES