Xcode环境变量

1,513 阅读1分钟

通过设置环境变量,我们可以快速的查看项目的配置情况

设置环境变量

创建LGPersonLGTeacher两个类,并实现load方法

Command + R执行打印日志

当我们在自己创建的类中实现了load方法时,在程序运行过程中就会打印实现了load方法的类,通过这种方法我们可以快速的定位项目中实现了load方法的类.

常用环境变量

DYLD_PRINT_STATISTICS : 监控并打印应用启动时间

OBJC_PRINT_LOAD_METHODS:打印实现load方法的类

OBJC_PRINT_IMAGES: log image and library names as they are loaded

OBJC_PRINT_IMAGE_TIMES: measure duration of image loading steps

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_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_CORE: log classes with custom core methods

OBJC_PRINT_CUSTOM_RR: log classes with custom retain/release methods

OBJC_PRINT_CUSTOM_AWZ: log classes with custom allocWithZone methods

OBJC_PRINT_RAW_ISA: log classes that require raw pointer isa fields

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_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_DEBUG_POOL_ALLOCATION: halt when autorelease pools are popped out of order, and allow heap debuggers to track autorelease pools

OBJC_DEBUG_DUPLICATE_CLASSES: halt when multiple classes with the same name are present

OBJC_DEBUG_DONT_CRASH: halt the process by exiting instead of crashing

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.

OBJC_DISABLE_TAG_OBFUSCATION: disable obfuscation of tagged pointers

OBJC_DISABLE_NONPOINTER_ISA: disable non-pointer isa fields

OBJC_DISABLE_INITIALIZE_FORK_SAFETY: disable safety checks for +initialize after fork