.\" Author:
.\" Miguel de Icaza (miguel@gnu.org)
.\"
-.TH Mono "Mono 1.0"
+.TH Mono "Mono 1.1.x"
.SH NAME
monodis \- CIL image content dumper and disassembler.
.SH SYNOPSIS
.PP
.B monodis
-[\-hd] [\-\-help]
+[\-h] [\-\-help]
+[\-\-output=FILENAME]
+[\-\-mscorlib]
+[\-\-assembly]
+[\-\-assemblyref]
+[\-\-classlayout]
+[\-\-constant]
+[\-\-customattr]
+[\-\-declsec]
+[\-\-event]
+[\-\-exported]
+[\-\-fields]
+[\-\-file]
+[\-\-forward-decls]
+[\-\-genericpar]
+[\-\-implmap]
+[\-\-interface]
+[\-\-manifest]
+[\-\-marshal]
+[\-\-memberref]
+[\-\-method]
+[\-\-methodimpl]
+[\-\-methodsem]
+[\-\-methodspec]
+[\-\-module]
+[\-\-moduleref]
+[\-\-mresources]
+[\-\-presources]
+[\-\-nested]
+[\-\-param]
+[\-\-parconst]
+[\-\-property]
+[\-\-propertymap]
+[\-\-standalonesig]
+[\-\-typedef]
[\-\-typeref]
-[\-\-typedefl]
-[\-\-assemblyref]
+[\-\-typespec]
+[\-\-blob]
+[\-\-strings]
+[\-\-userstrings]
[FILES...]
.SH DESCRIPTION
-The \fImonodis\fP program is used to dump the contents a CIL image
-(contained in .EXE files that contain extended PE/COFF CIL code).
+The \fImonodis\fP program is used to dump the contents an ECMA/ISO CIL
+image (contained in .EXE files that contain extended PE/COFF CIL
+code).
+.PP
+To roundtrip assemblies using ilasm, it is best to use the --output
+argument, as that will make monodis save the embedded resources in
+files that can later be properly embedded back by ilasm.
+.PP
+Additionally, the tool can be used to dump the contents of the various
+ECMA CIL metadata tables.
.SH OPTIONS
The following Generic options are supported:
.TP
.I "--help", "-h"
Displays usage instructions.
.TP
-.I "--typeref"
-Dumps the contents of the typeref table.
+.I "--output=FILENAME"
+Write output into \fIFILENAME\fP and dump any embedded managed resources.
.TP
-.I "--typedef"
-Dumps the contents of the typedef table.
+.I "--mscorlib"
+For non-corlib assemblies, use "mscorlib" as the assembly name. This
+is useful for round-tripping the IL with ilasm.
+.TP
+.I "--show-method-tokens"
+Display tokens for disassembled methods.
+.SH OPTIONS TO DISPLAY METADATA TABLES
+The following options are used to display metadata tables instead of
+disassembling the CIL image.
+.TP
+.I "--assembly"
+Dumps the contents of the Assembly table.
.TP
.I "--assemblyref"
-Dumps the contents of the assemblyref table.
+Dumps the contents of the AssemblyRef table.
+.TP
+.I "--classlayout"
+Dumps the contents of the ClassLayout table.
+.TP
+.I "--constant"
+Dumps the contents of the Constant table.
+.TP
+.I "--customattr"
+Dumps the contents of the CustomAttribute table.
+.TP
+.I "--declsec"
+Dumps the contents of the DeclSec table.
+.TP
+.I "--event"
+Dumps the contents of the Event table.
+.TP
+.I "--exported"
+Dumps the contents of the ExportedType table.
+.TP
+.I "--fields"
+Dumps the contents of the Field table.
+.TP
+.I "--file"
+Dumps the contents of the File table.
+.TP
+.I "--forward-decls"
+Dumps forward declarations for classes.
+.TP
+.I "--genericpar"
+Dumps the contents of the GenericParam table.
+.TP
+.I "--implmap"
+Dumps the contents of the ImplMap table.
+.TP
+.I "--interface"
+Dumps the contents of the InterfaceImpl table.
+.TP
+.I "--manifest"
+Dumps the contents of the ManifestResource table.
+.TP
+.I "--marshal"
+Dumps the contents of the FieldMarshal table.
+.TP
+.I "--memberref"
+Dumps the contents of the MemberRef table.
+.TP
+.I "--method"
+Dumps the contents of the MethodDef table.
+.TP
+.I "--methodimpl"
+Dumps the contents of the MethodImpl table.
+.TP
+.I "--methodspec"
+Dumps the contents of the MethodSpec table.
+.TP
+.I "--methodsem"
+Dumps the contents of the MethodSemantics table.
+.TP
+.I "--module"
+Dumps the contents of the Module table.
+.TP
+.I "--moduleref"
+Dumps the contents of the ModuleRef table.
+.TP
+.I "--mresources"
+Saves all the managed resources embedded in the assembly into the
+current directory. To get a list of the embedded resources use the
+--manifest option.
+.TP
+.I "--presources"
+Prints offsets and names of manifest resources embedded in the assembly.
+.TP
+.I "--nested"
+Dumps the contents of the NestedClass table.
+.TP
+.I "--param"
+Dumps the contents of the Param table.
+.TP
+.I "--parconst"
+Dumps the contents of the GenericParameterConstraint table.
+.TP
+.I "--property"
+Dumps the contents of the Property table.
+.TP
+.I "--propertymap"
+Dumps the contents of the PropertyMap table.
+.TP
+.I "--standalonesig"
+Dumps the contents of the StandAloneSig table.
+.TP
+.I "--typedef"
+Dumps the contents of the TypeDef table.
+.TP
+.I "--typespec"
+Dumps the contents of the TypeSpec table.
+.TP
+.I "--typeref"
+Dumps the contents of the TypeRef table.
+.TP
+.I "--blob"
+Dumps the entire contents of the blob stream as hex.
+.TP
+.I "--strings"
+Dumps the contents of the Strings heap.
+.TP
+.I "--userstrings"
+Dumps the contents of the User-Strings heap
.PP
If no flags are specified the program dumps the content of the image
-in a format that can be used to rountrip the code.
+in a format that can be used to rountrip the code.
+.PP
+.SH ENVIRONMENT VARIABLES
+.TP
+.I "MONO_PATH"
+Provides a search path to mono and mint where to look for library files.
+Directories are separated by the platform path separator (colons on unix). Example:
+.B /home/username/lib:/usr/local/mono/lib
+.PP
.SH AUTHOR
-monodis was written by Miguel de Icaza
+monodis was written by Miguel de Icaza, Paolo Molaro and Dietmar Maurer.
.SH SEE ALSO
-.BR pedump(1),
+.BR pedump(1)