-Instructs the runtime to collect profiling information about execution
-times and memory allocation, and dump it at the end of the execution.
-If a profiler is not specified, the default profiler is used. profiler_args
-is a profiler-specific string of options for the profiler itself.
-.PP
-The default profiler accepts -time and -alloc to options to disable
-the time profiling or the memory allocation profilng.
+Turns on profiling. For more information about profiling applications
+and code coverage see the sections "PROFILING" and "CODE COVERAGE"
+below.
+.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