[Runtime] Added logging around finalizers
[mono.git] / man / mono.1
index 784c078d3815302c80e86dfbf9fe73a2672e557f..3c762c110416a888653a4623bf4ec1a4f24b25c9 100644 (file)
@@ -119,6 +119,7 @@ If specified, forces the generated AOT files to be bound to the
 runtime version of the compiling Mono.   This will prevent the AOT
 files from being consumed by a different Mono runtime.
 .I full
+.Sp
 This is currently an experimental feature as it is not complete.
 This instructs Mono to precompile code that has historically not been
 precompiled with AOT.   
@@ -221,7 +222,7 @@ example, --tool=prefix=arm-linux-gnueabi- will make the AOT compiler run
 .I write-symbols
 Instructs the AOT compiler to emit debug symbol information.
 .PP
-For more information about AOT, see: http://www.mono-project.com/AOT
+For more information about AOT, see: http://www.mono-project.com/docs/advanced/aot/
 .RE
 .TP
 \fB--attach=[options]\fR
@@ -317,7 +318,7 @@ If the Mono runtime has been compiled with LLVM support (not available
 in all configurations), Mono will use the LLVM optimization and code
 generation engine to JIT or AOT compile.     
 .Sp
-For more information, consult: http://www.mono-project.com/Mono_LLVM
+For more information, consult: http://www.mono-project.com/docs/advanced/mono-llvm/
 .TP
 \fB--nollvm\fR
 When using a Mono that has been compiled with LLVM support, it forces
@@ -400,7 +401,7 @@ e.g. execution of Code Access Security (CAS) or non-CAS demands.
 .I core-clr
 Enables the core-clr security system, typically used for
 Moonlight/Silverlight applications.  It provides a much simpler
-security system than CAS, see http://www.mono-project.com/Moonlight
+security system than CAS, see http://www.mono-project.com/docs/web/moonlight/
 for more details and links to the descriptions of this new system. 
 .TP
 .I validil
@@ -736,7 +737,7 @@ shared library `mono-profiler-custom.so'.  This profiler module must
 be on your dynamic linker library path.
 .PP 
 A list of other third party profilers is available from Mono's web
-site (www.mono-project.com/Performance_Tips)
+site (www.mono-project.com/docs/advanced/performance-tips/)
 .PP
 Custom profiles are written as shared libraries.  The shared library
 must be called `mono-profiler-NAME.so' where `NAME' is the name of
@@ -853,6 +854,27 @@ The following is a common use to track down problems with P/Invoke:
 
 .fi
 .PP
+.SH DEBUGGING WITH LLDB
+If you are using LLDB, you can use the 
+.B mono.py
+script to print some internal data structures with it.   To use this,
+add this to your 
+.B  $HOME/.lldbinit
+file:
+.nf
+command script import $PREFIX/lib/mono/lldb/mono.py
+.fi
+.PP
+Where $PREFIX is the prefix value that you used when you configured
+Mono (typically /usr).
+.PP
+Once this is done, then you can inspect some Mono Runtime data structures,
+for example:
+.nf
+(lldb) p method
+
+(MonoMethod *) $0 = 0x05026ac0 [mscorlib]System.OutOfMemoryException:.ctor()
+.fi
 .SH SERIALIZATION
 Mono's XML serialization engine by default will use a reflection-based
 approach to serialize which might be slow for continuous processing
@@ -948,6 +970,10 @@ where V is the architecture number 4, 5, 6, 7 and the options can be currently b
 
 .fi
 .TP
+\fBMONO_ARM_FORCE_SOFT_FLOAT\fR
+When Mono is built with a soft float fallback on ARM and this variable is set to
+"1", Mono will always emit soft float code, even if a VFP unit is detected.
+.TP
 \fBMONO_DISABLE_AIO\fR
 If set, tells mono NOT to attempt using native asynchronous I/O services. In
 that case, a default select/poll implementation is used. Currently only epoll()
@@ -1257,12 +1283,24 @@ work, Mono needs to be compiled with the BINARY_PROTOCOL define on
 sgen-gc.c.   You can then use this command to explore the output
 .nf
                 sgen-grep-binprot 0x1234 0x5678 < file
+.fi
 .TP
 \fBnursery-canaries\fR
 If set, objects allocated in the nursery are suffixed with a canary (guard)
 word, which is checked on each minor collection. Can be used to detect/debug
 heap corruption issues.
-.fi
+
+.TP
+\fBdo-not-finalize\fR
+If enabled, finalizers will not be run.  Everything else will be
+unaffected: finalizable objects will still be put into the
+finalization queue where they survive until they're scheduled to
+finalize.  Once they're not in the queue anymore they will be
+collected regularly.
+
+.TP
+\fBlog-finalizers\fR
+Log verbosely around the finalization process to aid debugging.
 .ne
 .RE
 .TP
@@ -1371,7 +1409,7 @@ libraries side-by-side with the main executable.
 .Sp
 For a complete description of recommended practices for application
 deployment, see
-http://www.mono-project.com/Guidelines:Application_Deployment
+http://www.mono-project.com/docs/getting-started/application-deployment/
 .TP
 \fBMONO_RTC\fR
 Experimental RTC support in the statistical profiler: if the user has
@@ -1755,7 +1793,7 @@ on this subject see the http://www.mono-project.com/Config_system.web
 page. 
 .SH MAILING LISTS
 Mailing lists are listed at the
-http://www.mono-project.com/Mailing_Lists
+http://www.mono-project.com/community/help/mailing-lists/
 .SH WEB SITE
 http://www.mono-project.com
 .SH SEE ALSO
@@ -1764,6 +1802,6 @@ certmgr(1), csharp(1), mcs(1), mdb(1), monocov(1), monodis(1),
 mono-config(5), mozroots(1), mprof-report(1), pdb2mdb(1), xsp(1), mod_mono(8).
 .PP
 For more information on AOT:
-http://www.mono-project.com/AOT
+http://www.mono-project.com/docs/advanced/aot/
 .PP
 For ASP.NET-related documentation, see the xsp(1) manual page