You've already forked linux-packaging-mono
Imported Upstream version 4.3.2.467
Former-commit-id: 9c2cb47f45fa221e661ab616387c9cda183f283d
This commit is contained in:
173
man/mono.1
173
man/mono.1
@@ -124,6 +124,16 @@ 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.
|
||||
.TP
|
||||
.I data-outfile=FILE.dll.aotdata
|
||||
.Sp
|
||||
This instructs the AOT code generator to output certain data
|
||||
constructs into a separate file. This can reduce the executable
|
||||
images some five to twenty percent. Developers need to then ship the
|
||||
resulting aotdata as a resource and register a hook to load the data
|
||||
on demand by using the
|
||||
.I mono_install_load_aot_data_hook
|
||||
method.
|
||||
.TP
|
||||
.I direct-pinvoke
|
||||
.Sp
|
||||
When this option is specified, P/Invoke methods are invoked directly
|
||||
@@ -139,7 +149,8 @@ only supported by the ARM backend. In LLVM mode, this triple is passed on to the
|
||||
llc compiler.
|
||||
.TP
|
||||
.I nimt-trampolines=[number]
|
||||
When compiling in full aot mode, the IMT trampolines must be precreated
|
||||
When compiling in full aot mthis data at startup
|
||||
usingode, the IMT trampolines must be precreated
|
||||
in the AOT image. You can add additional method trampolines with this argument.
|
||||
Defaults to 128.
|
||||
.TP
|
||||
@@ -317,6 +328,13 @@ Currently this merely ensures that you are running either the
|
||||
\fBMONO_ENV_OPTIONS\fR environment variable to force all of your child
|
||||
processes to use one particular kind of GC with the Mono runtime.
|
||||
.TP
|
||||
\fB--arch=32\fR, \fB--arch=64\fR
|
||||
(Mac OS X only): Selects the bitness of the Mono binary used, if
|
||||
available. If the binary used is already for the selected bitness, nothing
|
||||
changes. If not, the execution switches to a binary with the selected
|
||||
bitness suffix installed side by side (for example, '/bin/mono --arch=64'
|
||||
will switch to '/bin/mono64' iff '/bin/mono' is a 32-bit build).
|
||||
.TP
|
||||
\fB--help\fR, \fB-h\fR
|
||||
Displays usage instructions.
|
||||
.TP
|
||||
@@ -595,6 +613,16 @@ Currently this option is only supported on Linux.
|
||||
The maintainer options are only used by those developing the runtime
|
||||
itself, and not typically of interest to runtime users or developers.
|
||||
.TP
|
||||
\fB--bisect=optimization:filename\fR
|
||||
This flag is used by the automatic optimization bug bisector. It
|
||||
takes an optimization flag and a filename of a file containing a list
|
||||
of full method names, one per line. When it compiles one of the
|
||||
methods in the file it will use the optimization given, in addition to
|
||||
the optimizations that are otherwise enabled. Note that if the
|
||||
optimization is enabled by default, you should disable it with `-O`,
|
||||
otherwise it will just apply to every method, whether it's in the file
|
||||
or not.
|
||||
.TP
|
||||
\fB--break method\fR
|
||||
Inserts a breakpoint before the method whose name is `method'
|
||||
(namespace.class:methodname). Use `Main' as method name to insert a
|
||||
@@ -861,7 +889,9 @@ 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),
|
||||
"security" (e.g. Moonlight CoreCLR support) and "all".
|
||||
"security" (e.g. Moonlight CoreCLR support), "threadpool" (thread pool generic),
|
||||
"io-threadpool" (thread pool I/O), "io-layer" (I/O layer - sockets, handles, shared memory etc)
|
||||
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
|
||||
@@ -924,7 +954,12 @@ by setting the option
|
||||
Turns off the garbage collection in Mono. This should be only used
|
||||
for debugging purposes
|
||||
.TP
|
||||
\fBLVM_COUNT\fR
|
||||
\fBHTTP_PROXY\fR
|
||||
(Also \fBhttp_proxy\fR) If set, web requests using the Mono
|
||||
Class Library will be automatically proxied through the given URL.
|
||||
Not supported on Windows, Mac OS, iOS or Android. See also \fBNO_PROXY\fR.
|
||||
.TP
|
||||
\fBLLVM_COUNT\fR
|
||||
When Mono is compiled with LLVM support, this instructs the runtime to
|
||||
stop using LLVM after the specified number of methods are JITed.
|
||||
This is a tool used in diagnostics to help isolate problems in the
|
||||
@@ -1041,6 +1076,20 @@ For platforms that do not otherwise have a way of obtaining random bytes
|
||||
this can be set to the name of a file system socket on which an egd or
|
||||
prngd daemon is listening.
|
||||
.TP
|
||||
\fBMONO_ENABLE_COOP\fR
|
||||
This makes the Mono runtime and the SGen garbage collector run in cooperative
|
||||
mode as opposed to run on preemptive mode. Preemptive mode is the mode
|
||||
that Mono has used historically, going back to the Boehm days, where the
|
||||
garbage collector would run at any point and suspend execution of all
|
||||
threads as required to perform a garbage collection. The cooperative mode
|
||||
on the other hand requires the cooperation of all threads to stop at a
|
||||
safe point. This makes for an easier to debug garbage collector. As
|
||||
of Mono 4.3.0 it is a work in progress, and while it works, it has not
|
||||
been used extensively. This option enabled the feature and allows us to
|
||||
find spots that need to be tuned for this mode of operation. Alternatively,
|
||||
this mode can be enabled at compile time by using the --with-cooperative-gc
|
||||
flag when calling configure.
|
||||
.TP
|
||||
\fBMONO_ENABLE_SHM\fR
|
||||
Unix only: Enable support for cross-process handles. Cross-process
|
||||
handles are used to expose process handles, thread handles, named
|
||||
@@ -1118,6 +1167,16 @@ separated list of words.
|
||||
.RS
|
||||
.ne 8
|
||||
.TP
|
||||
\fBmax-heap-size=\fIsize\fR
|
||||
Sets the maximum size of the heap. The size is specified in bytes and must
|
||||
be a power of two. The suffixes `k', `m' and `g' can be used to
|
||||
specify kilo-, mega- and gigabytes, respectively. The limit is the sum
|
||||
of the nursery, major heap and large object heap. Once the limit is reached
|
||||
the application will receive OutOfMemoryExceptions when trying to allocate.
|
||||
Not the full extent of memory set in max-heap-size could be available to
|
||||
satisfy a single allocation due to internal fragmentation. By default heap
|
||||
limits is disabled and the GC will try to use all available memory.
|
||||
.TP
|
||||
\fBnursery-size=\fIsize\fR
|
||||
Sets the size of the nursery. The size is specified in bytes and must
|
||||
be a power of two. The suffixes `k', `m' and `g' can be used to
|
||||
@@ -1211,6 +1270,12 @@ Valid values are integers between 1 and 14. Default is 2.
|
||||
Enables or disables cementing. This can dramatically shorten nursery
|
||||
collection times on some benchmarks where pinned objects are referred
|
||||
to from the major heap.
|
||||
.TP
|
||||
\fBallow-synchronous-major\fR
|
||||
This forbids the major collector from performing synchronous major collections.
|
||||
The major collector might want to do a synchronous collection due to excessive
|
||||
fragmentation. Disabling this might trigger OutOfMemory error in situations that
|
||||
would otherwise not happen.
|
||||
.ne
|
||||
.RE
|
||||
.TP
|
||||
@@ -1323,12 +1388,13 @@ word, which is checked on each minor collection. Can be used to detect/debug
|
||||
heap corruption issues.
|
||||
|
||||
.TP
|
||||
\fBdo-not-finalize\fR
|
||||
\fBdo-not-finalize(=\fIclasses\fB)\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.
|
||||
collected regularly. If a list of comma-separated class names is
|
||||
given, only objects from those classes will not be finalized.
|
||||
|
||||
.TP
|
||||
\fBlog-finalizers\fR
|
||||
@@ -1514,6 +1580,13 @@ ftps, smtps...). The default is 'nocheck', which performs no revocation check
|
||||
at all. The other possible values are 'offline', which performs CRL check (not
|
||||
implemented yet) and 'online' which uses OCSP and CRL to verify the revocation
|
||||
status (not implemented yet).
|
||||
.TP
|
||||
\fBNO_PROXY\fR
|
||||
(Also \fBno_proxy\fR) If both \fBHTTP_PROXY\fR and \fBNO_PROXY\fR are
|
||||
set, \fBNO_PROXY\fR will be treated as a comma-separated list of "bypass" domains
|
||||
which will not be sent through the proxy. Domains in \fBNO_PROXY\fR may contain
|
||||
wildcards, as in "*.mono-project.com" or "build????.local". Not supported on
|
||||
Windows, Mac OS, iOS or Android.
|
||||
.SH ENVIRONMENT VARIABLES FOR DEBUGGING
|
||||
.TP
|
||||
\fBMONO_ASPNET_NODELETE\fR
|
||||
@@ -1528,6 +1601,13 @@ Currently, the following options are supported:
|
||||
.RS
|
||||
.ne 8
|
||||
.TP
|
||||
\fBalign-small-structs\fR
|
||||
Enables small structs alignment to 4/8 bytes.
|
||||
.TP
|
||||
\fBarm-use-fallback-tls\fR
|
||||
When this option is set on ARM, a fallback TLS will be used instead
|
||||
of the default fast TLS.
|
||||
.TP
|
||||
\fBbreak-on-unverified\fR
|
||||
If this variable is set, when the Mono VM runs into a verification
|
||||
problem, instead of throwing an exception it will break into the
|
||||
@@ -1538,12 +1618,22 @@ This option can be used to get more detailed information from
|
||||
InvalidCast exceptions, it will provide information about the types
|
||||
involved.
|
||||
.TP
|
||||
\fBcheck-pinvoke-callconv\fR
|
||||
This option causes the runtime to check for calling convention
|
||||
mismatches when using pinvoke, i.e. mixing cdecl/stdcall. It only
|
||||
works on windows. If a mismatch is detected, an
|
||||
ExecutionEngineException is thrown.
|
||||
.TP
|
||||
\fBcollect-pagefault-stats\fR
|
||||
Collects information about pagefaults. This is used internally to
|
||||
track the number of page faults produced to load metadata. To display
|
||||
this information you must use this option with "--stats" command line
|
||||
option.
|
||||
.TP
|
||||
\fBdebug-domain-unload\fR
|
||||
When this option is set, the runtime will invalidate the domain memory
|
||||
pool instead of destroying it.
|
||||
.TP
|
||||
\fBdont-free-domains\fR
|
||||
This is an Optimization for multi-AppDomain applications (most
|
||||
commonly ASP.NET applications). Due to internal limitations Mono,
|
||||
@@ -1561,6 +1651,12 @@ using this feature).
|
||||
Instructs the runtime to try to use a generic runtime-invoke wrapper
|
||||
instead of creating one invoke wrapper.
|
||||
.TP
|
||||
\fBexplicit-null-checks\fR
|
||||
Makes the JIT generate an explicit NULL check on variable dereferences
|
||||
instead of depending on the operating system to raise a SIGSEGV or
|
||||
another form of trap event when an invalid memory location is
|
||||
accessed.
|
||||
.TP
|
||||
\fBgdb\fR
|
||||
Equivalent to setting the \fBMONO_XDEBUG\fR variable, this emits
|
||||
symbols into a shared library as the code is JITed that can be loaded
|
||||
@@ -1571,11 +1667,11 @@ Automatically generates sequence points where the
|
||||
IL stack is empty. These are places where the debugger can set a
|
||||
breakpoint.
|
||||
.TP
|
||||
\fBexplicit-null-checks\fR
|
||||
Makes the JIT generate an explicit NULL check on variable dereferences
|
||||
instead of depending on the operating system to raise a SIGSEGV or
|
||||
another form of trap event when an invalid memory location is
|
||||
accessed.
|
||||
\fBgen-compact-seq-points\fR
|
||||
This option generates sequence points data that maps native offsets to
|
||||
IL offsets. Sequence point data is used to display IL offset in
|
||||
stacktraces. Stacktraces with IL offsets can be symbolicated using
|
||||
mono-symbolicate tool.
|
||||
.TP
|
||||
\fBhandle-sigint\fR
|
||||
Captures the interrupt signal (Control-C) and displays a stack trace
|
||||
@@ -1595,6 +1691,14 @@ passed to unmanaged code, and no references kept in managed code,
|
||||
which will garbage collect the code. With this option it is possible
|
||||
to track down the source of the problems.
|
||||
.TP
|
||||
\fBno-gdb-backtrace\fR
|
||||
This option will disable the GDB backtrace emitted by the runtime
|
||||
after a SIGSEGV or SIGABRT in unmanaged code.
|
||||
.TP
|
||||
\fBpartial-sharing\fR
|
||||
When this option is set, the runtime can share generated code between
|
||||
generic types effectively reducing the amount of code generated.
|
||||
.TP
|
||||
\fBreverse-pinvoke-exceptions
|
||||
This option will cause mono to abort with a descriptive message when
|
||||
during stack unwinding after an exception it reaches a native stack
|
||||
@@ -1605,20 +1709,25 @@ will skip any native stack frames in the process. This leads to
|
||||
undefined behaviour (since mono doesn't know how to process native
|
||||
frames), leaks, and possibly crashes too.
|
||||
.TP
|
||||
\fBno-gdb-backtrace\fR
|
||||
This option will disable the GDB backtrace emitted by the runtime
|
||||
after a SIGSEGV or SIGABRT in unmanaged code.
|
||||
\fBsingle-imm-size\fR
|
||||
This guarantees that each time managed code is compiled the same
|
||||
instructions and registers are used, regardless of the size of used
|
||||
values.
|
||||
.TP
|
||||
\fBsoft-breakpoints\fR
|
||||
This option allows using single-steps and breakpoints in hardware
|
||||
where we cannot do it with signals.
|
||||
.TP
|
||||
\fBsuspend-on-sigsegv\fR
|
||||
This option will suspend the program when a native SIGSEGV is received.
|
||||
This is useful for debugging crashes which do not happen under gdb,
|
||||
since a live process contains more information than a core file.
|
||||
.TP
|
||||
\fBcheck-pinvoke-callconv\fR
|
||||
This option causes the runtime to check for calling convention
|
||||
mismatches when using pinvoke, i.e. mixing cdecl/stdcall. It only
|
||||
works on windows. If a mismatch is detected, an
|
||||
ExecutionEngineException is thrown.
|
||||
\fBsuspend-on-exception\fR
|
||||
This option will suspend the program when an exception occurs.
|
||||
.TP
|
||||
\fBsuspend-on-unhandled\fR
|
||||
This option will suspend the program when an unhandled exception occurs.
|
||||
.ne
|
||||
.RE
|
||||
.TP
|
||||
@@ -1682,34 +1791,6 @@ as it forces all of the commands send to X11 server to be done
|
||||
synchronously. The default mode of operation is asynchronous which
|
||||
makes it hard to isolate the root of certain problems.
|
||||
.TP
|
||||
\fBMONO_GENERIC_SHARING\fR
|
||||
This environment variable controls the kind of generic sharing used.
|
||||
This variable is used by internal JIT developers and should not be
|
||||
changed in production. Do not use it.
|
||||
.Sp
|
||||
The variable controls which classes will have generic code sharing
|
||||
enabled.
|
||||
.Sp
|
||||
Permissible values are:
|
||||
.RS
|
||||
.TP
|
||||
.I "all"
|
||||
All generated code can be shared.
|
||||
.TP
|
||||
.I "collections"
|
||||
Only the classes in System.Collections.Generic will have its code
|
||||
shared (this is the default value).
|
||||
.TP
|
||||
.I "corlib"
|
||||
Only code in corlib will have its code shared.
|
||||
.TP
|
||||
.I "none"
|
||||
No generic code sharing will be performed.
|
||||
.RE
|
||||
.Sp
|
||||
Generic code sharing by default only applies to collections. The
|
||||
Mono JIT by default turns this on.
|
||||
.TP
|
||||
\fBMONO_XDEBUG\fR
|
||||
When the the MONO_XDEBUG env var is set, debugging info for JITted
|
||||
code is emitted into a shared library, loadable into gdb. This enables,
|
||||
|
||||
Reference in New Issue
Block a user