#import <Foundation/Foundation.h> #import <objc/runtime.h> /** * 殭屍對象所在的核心內存沒法重用,所以不可能遭到複寫。殭屍對象收到消息後,會拋出異常,其中準確說明了 * 發送過來的消息,並描述回收以前的那個對象。殭屍對象是調試內存管理問題的最佳方式。 */ @interface EOCClass : NSObject void PrintClassInfo(id obj); @end #import "EOCClass.h" /** BulidSetting * grabage 關閉ARC */ @implementation EOCClass void PrintClassInfo(id obj){ Class cls = objc_getClass(obj); Class supercls = class_getSuperclass(cls); NSLog(@"%s:%s",class_getName(cls),class_getName(supercls)); } int main (int argc , char *argv[]){ EOCClass *obj = [EOCClass new]; NSLog(@"Before release:"); PrintClassInfo(obj); [obj release]; NSLog(@"After release"); PrintClassInfo(obj); // NSString *desc = [obj description]; // NSLog(@"%@",desc); /* */ } @end