Search notes:

ildasm.exe

ildasm.exe is the .NET Framework intermediate language disassembler.

Command line options

An option is recognized by a starging '-' or '/'. The first three letters of the option are significant.

Options for output redirection

By default, ildasm.exe opens a GUI window. With any of the following four options, the output is redirected either to stdout or a file.
/OUT=<file name> Direct output to file rather than to GUI.
/TEXT Direct output to console window rather than to GUI.
/HTML Output in HTML format (valid with /OUT option only).
/RTF Output in rich text format (invalid with /TEXT option).

Options for GUI or file/console output (EXE and DLL files only)

/BYTES Show actual bytes (in hex) as instruction comments.
/RAWEH Show exception handling clauses in raw form.
/TOKENS Show metadata tokens of classes and members.
/SOURCE Show original source lines as comments.
/LINENUM Include references to original source lines.
/VISIBILITY=<vis>[+<vis>...] Only disassemble the items with specified visibility. (<vis> = PUB | PRI | FAM | ASM | FAA | FOA | PSC)
/PUBONLY Only disassemble the public items (same as /VIS=PUB).
/QUOTEALLNAMES Include all names into single quotes.
/NOCA Suppress output of custom attributes.
/CAVERBAL Output CA blobs in verbal form (default - in binary form).
/NOBAR Suppress disassembly progress bar window pop-up.

Options that are only valid in file/console output

Options for EXE and DLL files:
/UTF8 Use UTF-8 encoding for output (default - ANSI).
/UNICODE Use UNICODE encoding for output.
/NOIL Suppress IL assembler code output.
/FORWARD Use forward class declaration.
/TYPELIST Output full list of types (to preserve type ordering in round-trip).
/PROJECT Display .NET projection view if input is a .winmd file.
/HEADERS Include file headers information in the output.
/ITEM=<class>[::<method>[(<sig>)] Disassemble the specified item only
/STATS Include statistics on the image.
/CLASSLIST Include list of classes defined in the module.
/ALL Combination of /HEADER,/BYTES,/STATS,/CLASSLIST,/TOKENS
Options for EXE,DLL, OBJ and LIB files:
/METADATA[=<specifier>] Show MetaData, where <specifier> is:
MDHEADER Show MetaData header information and sizes.
HEX Show more things in hex as well as words.
CSV Show the record counts and heap sizes.
UNREX Show unresolved externals.
SCHEMA Show the MetaData header and schema information.
RAW Show the raw MetaData tables.
HEAPS Show the raw heaps.
VALIDATE Validate the consistency of the metadata.
Options for LIB files:
/OBJECTFILE=<obj_file_name> Show MetaData of a single object file in library

See also

ilasm.exe is the IL assembler. Interessingly, the assembler is not located in the same directory as the disassembler.

Index