Xcode 所有环境变量打印文档说明
2023-02-28 本文已影响0人
Dombo_Y
objc[44176]: Objective-C runtime debugging. Set variable=YES to enable.
objc[44176]: OBJC_HELP: describe available environment variables
objc[44176]: OBJC_PRINT_OPTIONS: list which options are set
objc[44176]: OBJC_PRINT_IMAGES: log image and library names as they are loaded
objc[44176]: OBJC_PRINT_IMAGE_TIMES: measure duration of image loading steps
objc[44176]: OBJC_PRINT_LOAD_METHODS: log calls to class and category +load methods
objc[44176]: OBJC_PRINT_INITIALIZE_METHODS: log calls to class +initialize methods
objc[44176]: OBJC_PRINT_RESOLVED_METHODS: log methods created by +resolveClassMethod: and +resolveInstanceMethod:
objc[44176]: OBJC_PRINT_CLASS_SETUP: log progress of class and category setup
objc[44176]: OBJC_PRINT_PROTOCOL_SETUP: log progress of protocol setup
objc[44176]: OBJC_PRINT_IVAR_SETUP: log processing of non-fragile ivars
objc[44176]: OBJC_PRINT_VTABLE_SETUP: log processing of class vtables
objc[44176]: OBJC_PRINT_VTABLE_IMAGES: print vtable images showing overridden methods
objc[44176]: OBJC_PRINT_CACHE_SETUP: log processing of method caches
objc[44176]: OBJC_PRINT_FUTURE_CLASSES: log use of future classes for toll-free bridging
objc[44176]: OBJC_PRINT_PREOPTIMIZATION: log preoptimization courtesy of dyld shared cache
objc[44176]: OBJC_PRINT_CXX_CTORS: log calls to C++ ctors and dtors for instance variables
objc[44176]: OBJC_PRINT_EXCEPTIONS: log exception handling
objc[44176]: OBJC_PRINT_EXCEPTION_THROW: log backtrace of every objc_exception_throw()
objc[44176]: OBJC_PRINT_ALT_HANDLERS: log processing of exception alt handlers
objc[44176]: OBJC_PRINT_REPLACED_METHODS: log methods replaced by category implementations
objc[44176]: OBJC_PRINT_DEPRECATION_WARNINGS: warn about calls to deprecated runtime functions
objc[44176]: OBJC_PRINT_POOL_HIGHWATER: log high-water marks for autorelease pools
objc[44176]: OBJC_PRINT_CUSTOM_CORE: log classes with custom core methods
objc[44176]: OBJC_PRINT_CUSTOM_RR: log classes with custom retain/release methods
objc[44176]: OBJC_PRINT_CUSTOM_AWZ: log classes with custom allocWithZone methods
objc[44176]: OBJC_PRINT_RAW_ISA: log classes that require raw pointer isa fields
objc[44176]: OBJC_DEBUG_UNLOAD: warn about poorly-behaving bundles when unloaded
objc[44176]: OBJC_DEBUG_FRAGILE_SUPERCLASSES: warn about subclasses that may have been broken by subsequent changes to superclasses
objc[44176]: OBJC_DEBUG_NIL_SYNC: warn about @synchronized(nil), which does no synchronization
objc[44176]: OBJC_DEBUG_NONFRAGILE_IVARS: capriciously rearrange non-fragile ivars
objc[44176]: OBJC_DEBUG_ALT_HANDLERS: record more info about bad alt handler use
objc[44176]: OBJC_DEBUG_MISSING_POOLS: warn about autorelease with no pool in place, which may be a leak
objc[44176]: OBJC_DEBUG_POOL_ALLOCATION: halt when autorelease pools are popped out of order, and allow heap debuggers to track autorelease pools
objc[44176]: OBJC_DEBUG_DUPLICATE_CLASSES: halt when multiple classes with the same name are present
objc[44176]: OBJC_DEBUG_DONT_CRASH: halt the process by exiting instead of crashing
objc[44176]: OBJC_DEBUG_POOL_DEPTH: log fault when at least a set number of autorelease pages has been allocated
objc[44176]: OBJC_DEBUG_SCRIBBLE_CACHES: scribble the IMPs in freed method caches
objc[44176]: OBJC_DISABLE_VTABLES: disable vtable dispatch
objc[44176]: OBJC_DISABLE_PREOPTIMIZATION: disable preoptimization courtesy of dyld shared cache
objc[44176]: OBJC_DISABLE_TAGGED_POINTERS: disable tagged pointer optimization of NSNumber et al.
objc[44176]: OBJC_DISABLE_TAG_OBFUSCATION: disable obfuscation of tagged pointers
objc[44176]: OBJC_DISABLE_NONPOINTER_ISA: disable non-pointer isa fields
objc[44176]: OBJC_DISABLE_INITIALIZE_FORK_SAFETY: disable safety checks for +initialize after fork
objc[44176]: OBJC_DISABLE_FAULTS: disable os faults
objc[44176]: OBJC_DISABLE_PREOPTIMIZED_CACHES: disable preoptimized caches
objc[44176]: OBJC_DISABLE_AUTORELEASE_COALESCING: disable coalescing of autorelease pool pointers
objc[44176]: OBJC_DISABLE_AUTORELEASE_COALESCING_LRU: disable coalescing of autorelease pool pointers using look back N strategy
获取途径:终端 (base) yindongbo@yindongbodeMacBook-Pro Desktop % export OBJC_HELP=1
相关文档
https://www.jianshu.com/p/f2aff309171c
翻译
OBJC_HELP:描述可用的环境变量
OBJC_PRINT_OPTIONS:列出设置的选项
OBJC_PRINT_IMAGES:记录加载的镜像和库的名称
OBJC_PRINT_IMAGE_TIMES:测量镜像加载步骤的持续时间
OBJC_PRINT_LOAD_METHODS:记录类和类别 +load 方法的调用
OBJC_PRINT_INITIALIZE_METHODS:记录类 +initialize 方法的调用
OBJC_PRINT_RESOLVED_METHODS:记录由 +resolveClassMethod: 和 +resolveInstanceMethod: 创建的方法
OBJC_PRINT_CLASS_SETUP:记录类和类别设置的进度
OBJC_PRINT_PROTOCOL_SETUP:记录协议设置的进度
OBJC_PRINT_IVAR_SETUP:记录非脆弱实例变量的处理
OBJC_PRINT_VTABLE_SETUP:记录类虚表的处理
OBJC_PRINT_VTABLE_IMAGES:打印虚表图像,显示重写的方法
OBJC_PRINT_CACHE_SETUP:记录方法缓存的处理
OBJC_PRINT_FUTURE_CLASSES:记录用于免费桥接的未来类的使用
OBJC_PRINT_PREOPTIMIZATION:记录 dyld 共享缓存的预优化
OBJC_PRINT_CXX_CTORS:记录对实例变量的 C++ 构造函数和析构函数的调用
OBJC_PRINT_EXCEPTIONS:记录异常处理
OBJC_PRINT_EXCEPTION_THROW:记录每个 objc_exception_throw() 的回溯
OBJC_PRINT_ALT_HANDLERS:记录异常 alt 处理程序的处理
OBJC_PRINT_REPLACED_METHODS:记录类别实现替换的方法
OBJC_PRINT_DEPRECATION_WARNINGS:警告调用已弃用的运行时函数
OBJC_PRINT_POOL_HIGHWATER:记录自动释放池的高水位标记
OBJC_PRINT_CUSTOM_CORE:记录具有自定义核心方法的类
OBJC_PRINT_CUSTOM_RR:记录具有自定义保留/释放方法的类
OBJC_PRINT_CUSTOM_AWZ:记录具有自定义 allocWithZone 方法的类
OBJC_PRINT_RAW_ISA:记录需要原始指针 isa 字段的类
OBJC_DEBUG_UNLOAD:在卸载时警告行为不佳的包
OBJC_DEBUG_FRAGILE_SUPERCLASSES:警告可能已被后续更改的超类破坏的子类
OBJC_DEBUG_NIL_SYNC:警告@synchronized(nil),它不进行同步
OBJC_DEBUG_NONFRAGILE_IVARS:随意重新排列非脆弱实例变量
OBJC_DEBUG_ALT_HANDLERS:记录有关错误 alt 处理程序使用的更多信息
OBJC_DEBUG_MISSING_POOLS:警告在没有池的情况下进行自动释放,这可能是泄漏
OBJC_DEBUG_POOL_ALLOCATION:当 autorelease 池的弹出顺序出错时