---
name: "ildasm"
section: "1"
platform: "linux"
package: "pnet-compiler"
version: "0.6.12-3"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/ildasm"
---

# ildasm(1)

the Intermediate Language (IL) disassembler

## NAME

ildasm - the Intermediate Language (IL) disassembler

## SYNOPSIS

**ildasm** \[ options \] *input* ...

## DESCRIPTION

**Ildasm** converts IL object files (.obj), IL executables (.exe), and IL dynamic link libraries (.dll) into Intermediate Language (IL) assembly code.  The output is suitable for input to [**ilasm**(1)](/ilasm/1.md).

**Ildasm** is useful for diagnosing problems with compilers and other development tools.  It is rarely useful to regular users or programmers.

## OPTIONS

- **-o FILE, --output FILE**

  Specify the name of the file to write the assembler output to.  The default is standard output.  Specifying FILE as \`-' also indicates that the output should be set to standard output.

- **-d, --dump-sections**

  Dump the contents of the IL program sections in hexadecimal instead of as IL assembly code.  This may be useful for diagnosing problems with badly formatted IL binaries.

- **-r, --real-offsets**

  By default, **ildasm** prints "relative virtual addresses", or RVA's, when dumping IL program sections in hexadecimal, and when dumping the names of labels within methods.  The \`**-r**' option informs **ildasm** to use real file offsets instead.  This may assist in locating data within the file with separate tools.

- **-R, --resolve-all**

  **ildasm** does not resolve image data by default, which may cause problems with valuetype markers. The \`**-R**\` option enables resolution while loading.

- **-t, --show-tokens**

  Show the token codes of program elements within the disassembly output.

- **-q, --quote-names**

  Quote all identifiers within the disassembly output so that they are not confused with reserved words.  This is useful if the output will be fed into [**ilasm**(1)](/ilasm/1.md).

- **-w, --whole-file**

  Dump the contents of the whole input file in hexadecimal.  If the file is not otherwise recognized by [**ildasm**(1)](/ildasm/1.md) as an IL binary, this may be the only way to inspect the contents to determine what the problem is.

- **-b, --dump-bytes**

  Dump the IL instruction bytes in hexadecimal.

- **-n, --no-il**

  Do not dump the IL instructions within the methods.

- **--help**

  Print a usage message for the **ildasm** program.

- **-v, --version**

  Print the version of the **ildasm** program.

- **--**

  Marks the end of the command-line options, and the beginning of the input filenames.  You may need to use this if your filename begins with '-'.  e.g. "ildasm -- -input.obj".  This is not needed if the input is stdin: "ildasm -" is perfectly valid.

## AUTHOR

Written by Southern Storm Software, Pty Ltd.

http://www.southern-storm.com.au/

## SEE ALSO

[ilasm(1)](/ilasm/1.md), [ilsize(1)](/ilsize/1.md), [ilnative(1)](/ilnative/1.md), [cscc(1)](/cscc/1.md)

## DIAGNOSTICS

Exit status is 1 if an error occurred while processing the input. Otherwise the exit status is 0.  See the manual page for [**ilsize**(1)](/ilsize/1.md) for a list of diagnostic messages that may occur when the IL image file is loaded.
