X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=man%2Fmono.1;h=a3ab46153f59aa7bf5c3687bfb1a8019ec63f9c0;hb=96a51d05d9bbd755749edbff49eb1a9c2235e477;hp=ac2808e25f390c02e3c95b0ea0b4a3aeed3a1843;hpb=b9afa882093e6c112faa386ab205f90a056866db;p=mono.git diff --git a/man/mono.1 b/man/mono.1 index ac2808e25f3..a3ab46153f5 100644 --- a/man/mono.1 +++ b/man/mono.1 @@ -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. @@ -145,6 +146,13 @@ Defaults to 128. .I nodebug Instructs the AOT compiler to not output any debugging information. .TP +.I no-direct-calls +This prevents the AOT compiler from generating a direct calls to a +method. The AOT compiler usually generates direct calls for certain +methods that do not require going through the PLT (for example, +methods that are known to not require a hook like a static +constructor) or call into simple internal calls. +.TP .I dwarfdebug Instructs the AOT compiler to emit DWARF debugging information. When used together with the nodebug option, only DWARF debugging @@ -221,7 +229,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 +325,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 +408,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 +744,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 +861,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 +977,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() @@ -1075,19 +1108,10 @@ first generation (of two). A larger nursery will usually speed up the program but will obviously use more memory. The default nursery size 4 MB. .TP -\fBmajor=\fIcollector\fR -Specifies which major collector to use. Options are `marksweep' for -the Mark&Sweep collector, `marksweep-conc' for concurrent Mark&Sweep, -`marksweep-par' for parallel Mark&Sweep, `marksweep-fixed' for -Mark&Sweep with a fixed heap, and `marksweep-fixed-par' for parallel -Mark&Sweep with a fixed heap. The Mark&Sweep collector is the default. -.TP -\fBmajor-heap-size=\fIsize\fR -Sets the size of the major heap (not including the large object space) -for the fixed-heap Mark&Sweep collector (i.e. `marksweep-fixed' and -`marksweep-fixed-par'). The size is in bytes, with optional suffixes -`k', `m' and `g' to specify kilo-, mega- and gigabytes, respectively. -The default is 512 megabytes. +\fBmajor=\fIcollector\fR Specifies which major collector to use. +Options are `marksweep' for the Mark&Sweep collector, and +`marksweep-conc' for concurrent Mark&Sweep. The non-concurrent +Mark&Sweep collector is the default. .TP \fBsoft-heap-limit=\fIsize\fR Once the heap size gets larger than this size, ignore what the default @@ -1216,6 +1240,17 @@ is used. Performs a check to make sure that no references are left to an unloaded AppDomain. .TP +\fBclear-at-tlab-creation\fR +Clears the nursery incrementally when the thread local allocation +buffers (TLAB) are created. The default setting clears the whole +nursery at GC time. +.TP +\fBdebug-clear-at-tlab-creation\fR +Clears the nursery incrementally when the thread local allocation +buffers (TLAB) are created, but at GC time fills it with the byte +`0xff`, which should result in a crash more quickly if +`clear-at-tlab-creation` doesn't work properly. +.TP \fBclear-at-gc\fR This clears the nursery at GC time instead of doing it when the thread local allocation buffer (TLAB) is created. The default is to clear @@ -1256,6 +1291,23 @@ 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. + +.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 @@ -1364,7 +1416,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 @@ -1410,6 +1462,12 @@ include "clearlooks", "nice" and "win32". .Sp The default is "win32". .TP +\fBMONO_THREAPOOL\fR +This environment variable can be used to choose the implementation of +the ThreadPool used at runtime. By default this uses the long term +Mono threadpool implementation. But a new "microsoft" value switches +the threadpool implementation to Microsoft's CoreCLR/ReferenceSource implementation. +.TP \fBMONO_TLS_SESSION_CACHE_TIMEOUT\fR The time, in seconds, that the SSL/TLS session cache will keep it's entry to avoid a new negotiation between the client and a server. Negotiation are very @@ -1748,7 +1806,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 @@ -1757,6 +1815,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