Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
This is a command-line utility for examining the Objective-C runtime information stored in Mach-O files. It generates declarations for the classes, categories and protocols. This is the same information provided by using 'otool -ov', but presented as normal Objective-C declarations, so it is much more compact and readable.
Objective-C Python Other

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Tests
UnitTests
class-dump.xcodeproj
CDBalanceFormatter.h
CDBalanceFormatter.m
CDClassDump.h
CDClassDump.m
CDClassDumpVisitor.h
CDClassDumpVisitor.m
CDClassFrameworkVisitor.h
CDClassFrameworkVisitor.m
CDDataCursor.h
CDDataCursor.m
CDFatArch.h
CDFatArch.m
CDFatFile.h
CDFatFile.m
CDFile.h
CDFile.m
CDFindMethodVisitor.h
CDFindMethodVisitor.m
CDLCDyldInfo.h
CDLCDyldInfo.m
CDLCDylib.h
CDLCDylib.m
CDLCDylinker.h
CDLCDylinker.m
CDLCDynamicSymbolTable.h
CDLCDynamicSymbolTable.m
CDLCEncryptionInfo.h
CDLCEncryptionInfo.m
CDLCFunctionStarts.h
CDLCFunctionStarts.m
CDLCLinkeditData.h
CDLCLinkeditData.m
CDLCPrebindChecksum.h
CDLCPrebindChecksum.m
CDLCPreboundDylib.h
CDLCPreboundDylib.m
CDLCRoutines32.h
CDLCRoutines32.m
CDLCRoutines64.h
CDLCRoutines64.m
CDLCRunPath.h
CDLCRunPath.m
CDLCSegment.h
CDLCSegment.m
CDLCSegment32.h
CDLCSegment32.m
CDLCSegment64.h
CDLCSegment64.m
CDLCSubClient.h
CDLCSubClient.m
CDLCSubFramework.h
CDLCSubFramework.m
CDLCSubLibrary.h
CDLCSubLibrary.m
CDLCSubUmbrella.h
CDLCSubUmbrella.m
CDLCSymbolTable.h
CDLCSymbolTable.m
CDLCTwoLevelHints.h
CDLCTwoLevelHints.m
CDLCUUID.h
CDLCUUID.m
CDLCUnixThread.h
CDLCUnixThread.m
CDLCUnknown.h
CDLCUnknown.m
CDLCVersionMinimum.h
CDLCVersionMinimum.m
CDLoadCommand.h
CDLoadCommand.m
CDMachOFile.h
CDMachOFile.m
CDMachOFileDataCursor.h
CDMachOFileDataCursor.m
CDMethodType.h
CDMethodType.m
CDMultiFileVisitor.h
CDMultiFileVisitor.m
CDOCCategory.h
CDOCCategory.m
CDOCClass.h
CDOCClass.m
CDOCIvar.h
CDOCIvar.m
CDOCMethod.h
CDOCMethod.m
CDOCModule.h
CDOCModule.m
CDOCProperty.h
CDOCProperty.m
CDOCProtocol.h
CDOCProtocol.m
CDOCSymtab.h
CDOCSymtab.m
CDObjectiveC1Processor.h
CDObjectiveC1Processor.m
CDObjectiveC2Processor.h
CDObjectiveC2Processor.m
CDObjectiveCProcessor.h
CDObjectiveCProcessor.m
CDRelocationInfo.h
CDRelocationInfo.m
CDSearchPathState.h
CDSearchPathState.m
CDSection.h
CDSection.m
CDSection32.h
CDSection32.m
CDSection64.h
CDSection64.m
CDStructureInfo.h
CDStructureInfo.m
CDStructureTable.h
CDStructureTable.m
CDSymbol.h
CDSymbol.m
CDSymbolReferences.h
CDSymbolReferences.m
CDTextClassDumpVisitor.h
CDTextClassDumpVisitor.m
CDTopoSortNode.h
CDTopoSortNode.m
CDTopologicalSortProtocol.h
CDType.h
CDType.m
CDTypeController.h
CDTypeController.m
CDTypeFormatter.h
CDTypeFormatter.m
CDTypeLexer.h
CDTypeLexer.m
CDTypeName.h
CDTypeName.m
CDTypeParser.h
CDTypeParser.m
CDUnitTests-Info.plist
CDVisitor.h
CDVisitor.m
CDVisitorPropertyState.h
CDVisitorPropertyState.m
Info.plist
MachObjC-Prefix.pch
NSArray-Extensions.h
NSArray-Extensions.m
NSData-CDExtensions.h
NSData-CDExtensions.m
NSError-CDExtensions.h
NSError-CDExtensions.m
NSScanner-Extensions.h
NSScanner-Extensions.m
NSString-Extensions.h
NSString-Extensions.m
README.md
cd_objc2.h
class-dump-Prefix.pch
class-dump.m
deprotect-Prefix.pch
deprotect.m
dyld-info-compat.h
formatType-Prefix.pch
formatType.m
keys.txt

README.md

class-dump

class-dump is a command-line utility for examining the Objective-C segment of Mach-O files. It generates declarations for the classes, categories and protocols. This is the same information provided by using 'otool -ov', but presented as normal Objective-C declarations.

The latest version and information is available at:

http://www.codethecode.com/projects/class-dump

The source code is also available from my Github repository at:

https://github.com/nygard/class-dump

Usage

class-dump 3.3.4 (64 bit)
Usage: class-dump [options] <mach-o-file>

  where options are:
        -a             show instance variable offsets
        -A             show implementation addresses
        --arch <arch>  choose a specific architecture from a universal binary (ppc, ppc64, i386, x86_64)
        -C <regex>     only display classes matching regular expression
        -f <str>       find string in method name
        -H             generate header files in current directory, or directory specified with -o
        -I             sort classes, categories, and protocols by inheritance (overrides -s)
        -o <dir>       output directory used for -H
        -r             recursively expand frameworks and fixed VM shared libraries
        -s             sort classes and categories by name
        -S             sort methods by name
        -t             suppress header in output, for testing
        --list-arches  list the arches in the file, then exit
        --sdk-ios      specify iOS SDK version (will look in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk
        --sdk-mac      specify Mac OS X version (will look in /Developer/SDKs/MacOSX<version>.sdk
        --sdk-root     specify the full SDK root path (or use --sdk-ios/--sdk-mac for a shortcut)
  • class-dump AppKit:

    class-dump /System/Library/Frameworks/AppKit.framework

  • class-dump UIKit:

    class-dump /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/UIKit.framework

  • class-dump UIKit and all the frameworks it uses:

    class-dump /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/UIKit.framework -r --sdk-ios 4.3

  • class-dump UIKit (and all the frameworks it uses) from developer tools that have been installed in /Dev42 instead of /Developer:

    class-dump /Dev42/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/System/Library/Frameworks/UIKit.framework -r --sdk-root /Dev42/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk

License

This file is part of class-dump, a utility for examining the Objective-C segment of Mach-O files. Copyright (C) 1997-1998, 2000-2001, 2004-2011 Steve Nygard.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Contact

You may contact the author by: e-mail: class-dump at codethecode.com

Something went wrong with that request. Please try again.