.\" 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]
+[\-\-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 "--output=FILENAME"
+Write output into \fIFILENAME\fP and dump any embedded managed resources.
+.TP
.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
+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
+Dumps the contents of the ClassLayout table.
.TP
.I "--constant"
-Dumps the contents of the constant table
+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
+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 fields table
+Dumps the contents of the Field table.
.TP
.I "--file"
-Dumps the contents of the file table
+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 interface table
+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
+Dumps the contents of the MemberRef table.
.TP
.I "--method"
-Dumps the contents of the method table
+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 methodsem table
+Dumps the contents of the MethodSemantics table.
.TP
.I "--module"
-Dumps the contents of the module table
+Dumps the contents of the Module table.
.TP
.I "--moduleref"
-Dumps the contents of the moduleref table
+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
+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
+Dumps the contents of the Property table.
.TP
.I "--propertymap"
-Dumps the contents of the propertymap table
+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
+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
+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, Paolo Molaro and Dietmar Maurer.
.SH SEE ALSO