Skip to content

Instantly share code, notes, and snippets.

@lldong
Last active August 29, 2015 14:00
Show Gist options
  • Save lldong/11297260 to your computer and use it in GitHub Desktop.
Save lldong/11297260 to your computer and use it in GitHub Desktop.
Objective-C Debug Environment Variables
OBJC_PRINT_IMAGES "log image and library names as they are loaded"
OBJC_PRINT_LOAD_METHODS "log calls to class and category +load methods"
OBJC_PRINT_INITIALIZE_METHODS "log calls to class +initialize methods"
OBJC_PRINT_RESOLVED_METHODS "log methods created by +resolveClassMethod: and +resolveInstanceMethod:"
OBJC_PRINT_CLASS_SETUP "log progress of class and category setup"
OBJC_PRINT_PROTOCOL_SETUP "log progress of protocol setup"
OBJC_PRINT_IVAR_SETUP "log processing of non-fragile ivars"
OBJC_PRINT_VTABLE_SETUP "log processing of class vtables"
OBJC_PRINT_VTABLE_IMAGES "print vtable images showing overridden methods"
OBJC_PRINT_CACHE_SETUP "log processing of method caches"
OBJC_PRINT_FUTURE_CLASSES "log use of future classes for toll-free bridging"
OBJC_PRINT_GC "log some GC operations"
OBJC_PRINT_PREOPTIMIZATION "log preoptimization courtesy of dyld shared cache"
OBJC_PRINT_CXX_CTORS "log calls to C++ ctors and dtors for instance variables"
OBJC_PRINT_EXCEPTIONS "log exception handling"
OBJC_PRINT_EXCEPTION_THROW "log backtrace of every objc_exception_throw"
OBJC_PRINT_ALT_HANDLERS "log processing of exception alt handlers"
OBJC_PRINT_REPLACED_METHODS "log methods replaced by category implementations"
OBJC_PRINT_DEPRECATION_WARNINGS "warn about calls to deprecated runtime functions"
OBJC_PRINT_POOL_HIGHWATER "log high-water marks for autorelease pools"
OBJC_PRINT_CUSTOM_RR "log classes with un-optimized custom retain/release methods"
OBJC_PRINT_CUSTOM_AWZ "log classes with un-optimized custom allocWithZone methods"
OBJC_DEBUG_UNLOAD "warn about poorly-behaving bundles when unloaded"
OBJC_DEBUG_FRAGILE_SUPERCLASSES "warn about subclasses that may have been broken by subsequent changes to superclasses"
OBJC_DEBUG_FINALIZERS "warn about classes that implement -dealloc but not -finalize"
OBJC_DEBUG_NIL_SYNC "warn about @synchronized(nil which does no synchronization"
OBJC_DEBUG_NONFRAGILE_IVARS "capriciously rearrange non-fragile ivars"
OBJC_DEBUG_ALT_HANDLERS "record more info about bad alt handler use"
OBJC_DEBUG_MISSING_POOLS "warn about autorelease with no pool in place which may be a leak"
OBJC_USE_INTERNAL_ZONE "allocate runtime data in a dedicated malloc zone"
OBJC_DISABLE_GC "force GC OFF even if the executable wants it on"
OBJC_DISABLE_VTABLES "disable vtable dispatch"
OBJC_DISABLE_PREOPTIMIZATION "disable preoptimization courtesy of dyld shared cache"
OBJC_DISABLE_TAGGED_POINTERS "disable tagged pointer optimization of NSNumber et al."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment