ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages


This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

This manual page is associated with the Mac OS X developer tools. The software or headers described may not be present on your Mac OS X installation until you install the developer tools package. This package is available on your Mac OS X installation DVD, and the latest versions can be downloaded from

For more information about the manual page format, see the manual page for manpages(5).

OTOOL(1)                                                                                            OTOOL(1)

       otool - object file displaying tool

       otool [ option ...  ] [ file ...  ]

       The  otool  command  displays specified parts of object files or libraries.  If the, -m option is not
       used, the file arguments may be of the form libx.a(foo.o), to request  information  about  only  that
       object file and not the entire library.   (Typically this argument must be quoted, ``libx.a(foo.o)'',
       to get it past the shell.)  Otool understands both Mach-O (Mach object) files and universal file for-mats. formats.
       mats.   Otool  can display the specified information in either its raw (numeric) form (without the -v
       flag), or in a symbolic form using macro names of constants, etc. (with the -v or -V flag).

       At least one of the following options must be specified:

       -a     Display the archive header, if the file is an archive.

       -S     Display the contents of the `__.SYMDEF' file, if the file is an archive.

       -f     Display the universal headers.

       -h     Display the Mach header.

       -l     Display the load commands.

       -L     Display the names and version numbers of the shared libraries that the object file uses.

       -D     Display just install name of a shared library.

       -s segname sectname
              Display the contents of the section (segname,sectname).  If the -v flag is specified, the sec-tion section
              tion  is  displayed as its type, unless the type is zero (the section header flags).  Also the
              sections (__OBJC,__protocol), (__OBJC,__string_object) and (__OBJC,__runtime_setup)  are  dis-played displayed
              played symbolically if the -v flag is specified.

       -t     Display  the contents of the (__TEXT,__text) section.  With the -v flag, this disassembles the
              text.  And with -V, it also symbolically disassembles the operands.

       -d     Display the contents of the (__DATA,__data) section.

       -o     Display the contents of the __OBJC segment used by the Objective-C run-time system.

       -r     Display the relocation entries.

       -c     Display the argument strings (argv[] and envp[]) from a core file.

       -I     Display the indirect symbol table.

       -T     Display the table of contents for a dynamically linked shared library.

       -R     Display the reference table of a dynamically linked shared library.

       -M     Display the module table of a dynamically linked shared library.

       -H     Display the two-level namespace hints table.

       The following options may also be given:

       -p name
              Used with the -t and -v or -V options to start the disassembly from symbol name  and  continue
              to the end of the (__TEXT,__text) section.

       -v     Display verbosely (symbolically) when possible.

       -V     Display  the  disassembled operands symbolically (this implies the -v option).  This is useful
              with the -t option.

       -X     Don't display leading addresses when displaying contents of sections.

       -arch arch_type
              Specifies the architecture, arch_type, of the file for otool(1) to operate on when the file is
              a  universal  file.   (See  arch(3)  for the currently know arch_types.)  The arch_type can be
              "all" to operate on all architectures in the file.  The default is to display  only  the  host
              architecture, if the file contains it; otherwise, all architectures in the file are shown.

       -m     The  object  file names are not assumed to be in the archive(member) syntax, which allows file
              names containing parenthesis.

Apple Computer, Inc.                            July 28, 2005                                       OTOOL(1)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.