linkMap深度解析

版权声明:知识版权是属于全人类的! 欢迎评论与转载!!! https://blog.csdn.net/zhuge1127/article/details/82078204
# Symbols:
# Address   Size File Name
这里表明了当前的方法所属的文件和占用内存的大小
# Object files:
这个文件表明了上述file中的序号和对应的文件名称

我们可以通过对file和size整体的分析每个类中方法的大小来确定这个文件占用内存的大小
Apple审核对text段的大小限制iOS9以上为500M,但是如果你的App还兼容了iOS8的系统, 那么审核限制为60M.
// Path记录的是这个LinkMap对应的安装包的地址
# Path: /Users/zhuge/Library/Developer/Xcode/DerivedData/BitDM-btivlqbzhjzvrebsqwcsqocvsycn/Build/Intermediates.noindex/ArchiveIntermediates/BitDM/InstallationBuildProductsLocation/Applications/BitDM.app/BitDM

// Arch指的是这个LinkMap对应的架构
# Arch: arm64

// Object files是编译后生成的文件列表,和引进来的几个库,比如UIKit.tbd, Foundation.tbd
# Object files:
[  0] linker synthesized
[  1] /Users/zhuge/Library/Developer/Xcode/DerivedData/BitDM-btivlqbzhjzvrebsqwcsqocvsycn/Build/Intermediates.noindex/ArchiveIntermediates/BitDM/IntermediateBuildFilesPath/BitDM.build/Release-iphoneos/BitDM.build/Objects-normal/arm64/ViewController.o
[  2] /Users/zhuge/Library/Developer/Xcode/DerivedData/BitDM-btivlqbzhjzvrebsqwcsqocvsycn/Build/Intermediates.noindex/ArchiveIntermediates/BitDM/IntermediateBuildFilesPath/BitDM.build/Release-iphoneos/BitDM.build/Objects-normal/arm64/main.o
[  3] /Users/zhuge/Library/Developer/Xcode/DerivedData/BitDM-btivlqbzhjzvrebsqwcsqocvsycn/Build/Intermediates.noindex/ArchiveIntermediates/BitDM/IntermediateBuildFilesPath/BitDM.build/Release-iphoneos/BitDM.build/Objects-normal/arm64/AppDelegate.o
[  4] /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.4.sdk/System/Library/Frameworks//Foundation.framework/Foundation.tbd
[  5] /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.4.sdk/usr/lib/libobjc.tbd
[  6] /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.4.sdk/System/Library/Frameworks//UIKit.framework/UIKit.tbd
// Section是各种数据类型所在的内存空间
// Section主要分为两大类,__Text和__DATA
// __Text指的是程序代码,__DATA指的是已经初始化的变量等
# Sections:
  起始位置  内存16进制大小 Segment类型 Section类型
# Address   Size        Segment Section
0x100006A18 0x0000013C  __TEXT  __text    // 主程序代码
0x100006B54 0x0000006C  __TEXT  __stubs    // 用于动态链接库的stub
0x100006BC0 0x00000084  __TEXT  __stub_helper    // 用于动态链接库的stub
0x100006C44 0x00000A3F  __TEXT  __objc_methname    // objc的方法名称
0x100007683 0x0000003C  __TEXT  __objc_classname    // objc类方法
0x1000076BF 0x0000086D  __TEXT  __objc_methtype    // objc方法类型
0x100007F2C 0x0000007A  __TEXT  __cstring    // c语言字符串
0x100007FA8 0x00000058  __TEXT  __unwind_info
0x100008000 0x00000010  __DATA  __got
0x100008010 0x00000048  __DATA  __la_symbol_ptr
0x100008058 0x00000010  __DATA  __objc_classlist    // objc类列表
0x100008068 0x00000010  __DATA  __objc_protolist    // objc协议列表
0x100008078 0x00000008  __DATA  __objc_imageinfo    // objc镜像信息
0x100008080 0x00000C00  __DATA  __objc_const    // objc常量
0x100008C80 0x00000018  __DATA  __objc_selrefs    // objc自引用(self)
0x100008C98 0x00000008  __DATA  __objc_classrefs
0x100008CA0 0x00000008  __DATA  __objc_superrefs    // objc超类引用
0x100008CA8 0x00000004  __DATA  __objc_ivar    // objc类的实例变量
0x100008CB0 0x000000A0  __DATA  __objc_data
0x100008D50 0x000000C0  __DATA  __data
0x10000C000 0x0000B3CE  __LLVM  __bundle

Mach-O 文件中的虚拟地址最终会映射到物理地址上。
这些地址被分成不同的Segement: __TEXT段、__DATA段 和 __LINKEDIT段。
(1)__TEXT 包含 Mach header,被执行的代码和只读常量(如C 字符串),只读可执行(r-x)。
(2)__DATA 包含全局变量,静态变量等,可读写(rw-)。
(3)__LINKEDIT 包含了加载程序的『元数据』,比如函数的名称和地址,只读(r–)。
Segement划分成了不同的Section,不同的Section存储着不同的信息,下面是一些常用的Section的介绍。

//  __TEXT段中的一些Section
1. __text: 代码节,存放机器编译后的代码
2. __stubs: 用于辅助做动态链接代码(dyld).
3. __stub_helper:用于辅助做动态链接(dyld).
4. __objc_methname:objc的方法名称
5. __cstring:代码运行中包含的字符串常量,比如代码中定义`#define kGeTuiPushAESKey        @"DWE2#@e2!"`,那DWE2#@e2!会存在这个区里。
6. __objc_classname:objc类名
7. __objc_methtype:objc方法类型
8. __ustring:
9. __gcc_except_tab:
10. __const:存储const修饰的常量
11. __dof_RACSignal:
12. __dof_RACCompou:
13. __unwind_info:

// __DATA段中的一些Section
1. __got:存储引用符号的实际地址,类似于动态符号表
2. __la_symbol_ptr:lazy symbol pointers。懒加载的函数指针地址。和__stubs和stub_helper配合使用。具体原理暂留。
3. __mod_init_func:模块初始化的方法。
4. __const:存储constant常量的数据。比如使用extern导出的const修饰的常量。
5. __cfstring:使用Core Foundation字符串
6. __objc_classlist:objc类列表,保存类信息,映射了__objc_data的地址
7. __objc_nlclslist:Objective-C 的 +load 函数列表,比 __mod_init_func 更早执行。
8. __objc_catlist: categories
9. __objc_nlcatlist:Objective-C 的categories的 +load函数列表。
10. __objc_protolist:objc协议列表
11. __objc_imageinfo:objc镜像信息
12. __objc_const:objc常量。保存objc_classdata结构体数据。用于映射类相关数据的地址,比如类名,方法名等。
13. __objc_selrefs:引用到的objc方法
14. __objc_protorefs:引用到的objc协议
15. __objc_classrefs:引用到的objc类
16. __objc_superrefs:objc超类引用
17. __objc_ivar:objc ivar指针,存储属性。
18. __objc_data:objc的数据。用于保存类需要的数据。最主要的内容是映射__objc_const地址,用于找到类的相关数据。
19. __data:暂时没理解,从日志看存放了协议和一些固定了地址(已经初始化)的静态量。
20. __bss:存储未初始化的静态量。比如:`static NSThread *_networkRequestThread = nil;`其中这里面的size表示应用运行占用的内存,不是实际的占用空间。所以计算大小的时候应该去掉这部分数据。
21. __common:存储导出的全局的数据。类似于static,但是没有用static修饰。比如KSCrash里面`NSDictionary* g_registerOrders;`, g_registerOrders就存储在__common里面

Symbols简单来说就是类名,变量名,方法名等等符号

# Symbols:
# Address   Size        File  Name

// __text代码区
0x100006A18 0x00000034  [  1] -[ViewController viewDidLoad]
0x100006A4C 0x00000034  [  1] -[ViewController didReceiveMemoryWarning]
0x100006A80 0x00000080  [  2] _main
0x100006B00 0x00000008  [  3] -[AppDelegate application:didFinishLaunchingWithOptions:]
0x100006B08 0x00000004  [  3] -[AppDelegate applicationWillResignActive:]
0x100006B0C 0x00000004  [  3] -[AppDelegate applicationDidEnterBackground:]
0x100006B10 0x00000004  [  3] -[AppDelegate applicationWillEnterForeground:]
0x100006B14 0x00000004  [  3] -[AppDelegate applicationDidBecomeActive:]
0x100006B18 0x00000004  [  3] -[AppDelegate applicationWillTerminate:]
0x100006B1C 0x00000010  [  3] -[AppDelegate window]
0x100006B2C 0x00000014  [  3] -[AppDelegate setWindow:]
0x100006B40 0x00000014  [  3] -[AppDelegate .cxx_destruct]

// __objc_methname方法名区
0x100006B54 0x0000000C  [  4] _NSStringFromClass
0x100006B60 0x0000000C  [  6] _UIApplicationMain
0x100006B6C 0x0000000C  [  5] _objc_autoreleasePoolPop
0x100006B78 0x0000000C  [  5] _objc_autoreleasePoolPush
0x100006B84 0x0000000C  [  5] _objc_msgSend
0x100006B90 0x0000000C  [  5] _objc_msgSendSuper2
0x100006B9C 0x0000000C  [  5] _objc_release
0x100006BA8 0x0000000C  [  5] _objc_retainAutoreleasedReturnValue
0x100006BB4 0x0000000C  [  5] _objc_storeStrong
0x100006BC0 0x00000018  [  0] helper helper
0x100006BD8 0x0000000C  [  4] _NSStringFromClass
0x100006BE4 0x0000000C  [  5] _objc_autoreleasePoolPop
0x100006BF0 0x0000000C  [  5] _objc_autoreleasePoolPush
0x100006BFC 0x0000000C  [  5] _objc_msgSend
0x100006C08 0x0000000C  [  5] _objc_msgSendSuper2
0x100006C14 0x0000000C  [  5] _objc_release
0x100006C20 0x0000000C  [  5] _objc_retainAutoreleasedReturnValue
0x100006C2C 0x0000000C  [  5] _objc_storeStrong
0x100006C38 0x0000000C  [  6] _UIApplicationMain
0x100006C44 0x0000000C  [  1] literal string: viewDidLoad
0x100006C50 0x00000018  [  1] literal string: didReceiveMemoryWarning
0x100006C68 0x00000006  [  2] literal string: class
0x100006C6E 0x00000009  [  3] literal string: isEqual:
0x100006C77 0x00000005  [  3] literal string: self
0x100006C7C 0x00000011  [  3] literal string: performSelector:
0x100006C8D 0x0000001C  [  3] literal string: performSelector:withObject:
0x100006CA9 0x00000027  [  3] literal string: performSelector:withObject:withObject:
0x100006CD0 0x00000008  [  3] literal string: isProxy
0x100006CD8 0x0000000F  [  3] literal string: isKindOfClass:
0x100006CE7 0x00000011  [  3] literal string: isMemberOfClass:
0x100006CF8 0x00000014  [  3] literal string: conformsToProtocol:
0x100006D0C 0x00000014  [  3] literal string: respondsToSelector:
0x100006D20 0x00000007  [  3] literal string: retain
0x100006D27 0x00000008  [  3] literal string: release
0x100006D2F 0x0000000C  [  3] literal string: autorelease
0x100006D3B 0x0000000C  [  3] literal string: retainCount
0x100006D47 0x00000005  [  3] literal string: zone
0x100006D4C 0x00000005  [  3] literal string: hash
0x100006D51 0x0000000B  [  3] literal string: superclass
0x100006D5C 0x0000000C  [  3] literal string: description
0x100006D68 0x00000011  [  3] literal string: debugDescription
0x100006D79 0x0000001F  [  3] literal string: applicationDidFinishLaunching:
0x100006D98 0x0000002C  [  3] literal string: application:willFinishLaunchingWithOptions:
0x100006DC4 0x0000002B  [  3] literal string: application:didFinishLaunchingWithOptions:
0x100006DEF 0x0000001C  [  3] literal string: applicationDidBecomeActive:
0x100006E0B 0x0000001D  [  3] literal string: applicationWillResignActive:
0x100006E28 0x0000001B  [  3] literal string: application:handleOpenURL:
0x100006E43 0x00000032  [  3] literal string: application:openURL:sourceApplication:annotation:
0x100006E75 0x0000001D  [  3] literal string: application:openURL:options:
0x100006E92 0x00000024  [  3] literal string: applicationDidReceiveMemoryWarning:
0x100006EB6 0x0000001A  [  3] literal string: applicationWillTerminate:
0x100006ED0 0x00000022  [  3] literal string: applicationSignificantTimeChange:
0x100006EF2 0x00000035  [  3] literal string: application:willChangeStatusBarOrientation:duration:
0x100006F27 0x0000002B  [  3] literal string: application:didChangeStatusBarOrientation:
0x100006F52 0x00000026  [  3] literal string: application:willChangeStatusBarFrame:
0x100006F78 0x00000025  [  3] literal string: application:didChangeStatusBarFrame:
0x100006F9D 0x00000031  [  3] literal string: application:didRegisterUserNotificationSettings:
0x100006FCE 0x0000003E  [  3] literal string: application:didRegisterForRemoteNotificationsWithDeviceToken:
0x10000700C 0x0000003E  [  3] literal string: application:didFailToRegisterForRemoteNotificationsWithError:
0x10000704A 0x0000002A  [  3] literal string: application:didReceiveRemoteNotification:
0x100007074 0x00000029  [  3] literal string: application:didReceiveLocalNotification:
0x10000709D 0x0000004F  [  3] literal string: application:handleActionWithIdentifier:forLocalNotification:completionHandler:
0x1000070EC 0x00000061  [  3] literal string: application:handleActionWithIdentifier:forRemoteNotification:withResponseInfo:completionHandler:
0x10000714D 0x00000050  [  3] literal string: application:handleActionWithIdentifier:forRemoteNotification:completionHandler:
0x10000719D 0x00000060  [  3] literal string: application:handleActionWithIdentifier:forLocalNotification:withResponseInfo:completionHandler:
0x1000071FD 0x00000041  [  3] literal string: application:didReceiveRemoteNotification:fetchCompletionHandler:
0x10000723E 0x0000002F  [  3] literal string: application:performFetchWithCompletionHandler:
0x10000726D 0x0000003C  [  3] literal string: application:performActionForShortcutItem:completionHandler:
0x1000072A9 0x00000043  [  3] literal string: application:handleEventsForBackgroundURLSession:completionHandler:
0x1000072EC 0x00000032  [  3] literal string: application:handleWatchKitExtensionRequest:reply:
0x10000731E 0x0000002D  [  3] literal string: applicationShouldRequestHealthAuthorization:
0x10000734B 0x0000002C  [  3] literal string: application:handleIntent:completionHandler:
0x100007377 0x0000001F  [  3] literal string: applicationDidEnterBackground:
0x100007396 0x00000020  [  3] literal string: applicationWillEnterForeground:
0x1000073B6 0x0000002F  [  3] literal string: applicationProtectedDataWillBecomeUnavailable:
0x1000073E5 0x0000002C  [  3] literal string: applicationProtectedDataDidBecomeAvailable:
0x100007411 0x00000035  [  3] literal string: application:supportedInterfaceOrientationsForWindow:
0x100007446 0x00000031  [  3] literal string: application:shouldAllowExtensionPointIdentifier:
0x100007477 0x0000003F  [  3] literal string: application:viewControllerWithRestorationIdentifierPath:coder:
0x1000074B6 0x00000028  [  3] literal string: application:shouldSaveApplicationState:
0x1000074DE 0x0000002B  [  3] literal string: application:shouldRestoreApplicationState:
0x100007509 0x00000030  [  3] literal string: application:willEncodeRestorableStateWithCoder:
0x100007539 0x0000002F  [  3] literal string: application:didDecodeRestorableStateWithCoder:
0x100007568 0x0000002E  [  3] literal string: application:willContinueUserActivityWithType:
0x100007596 0x00000035  [  3] literal string: application:continueUserActivity:restorationHandler:
0x1000075CB 0x00000039  [  3] literal string: application:didFailToContinueUserActivityWithType:error:
0x100007604 0x00000023  [  3] literal string: application:didUpdateUserActivity:
0x100007627 0x00000034  [  3] literal string: application:userDidAcceptCloudKitShareWithMetadata:
0x10000765B 0x00000007  [  3] literal string: window
0x100007662 0x0000000B  [  3] literal string: setWindow:
0x10000766D 0x0000000E  [  3] literal string: .cxx_destruct
0x10000767B 0x00000008  [  3] literal string: _window
0x100007683 0x0000000F  [  1] literal string: ViewController
0x100007692 0x0000000C  [  3] literal string: AppDelegate
0x10000769E 0x00000016  [  3] literal string: UIApplicationDelegate
0x1000076B4 0x00000009  [  3] literal string: NSObject
0x1000076BD 0x00000002  [  3] literal string: 
0x1000076BF 0x00000008  [  1] literal string: v16@0:8
0x1000076C7 0x0000000B  [  3] literal string: B24@0:8@16
0x1000076D2 0x00000008  [  3] literal string: #16@0:8
0x1000076DA 0x00000008  [  3] literal string: @16@0:8
0x1000076E2 0x0000000B  [  3] literal string: @24@0:8:16
0x1000076ED 0x0000000E  [  3] literal string: @32@0:8:16@24
0x1000076FB 0x00000011  [  3] literal string: @40@0:8:16@24@32
0x10000770C 0x00000008  [  3] literal string: B16@0:8
0x100007714 0x0000000B  [  3] literal string: B24@0:8#16
0x10000771F 0x0000000B  [  3] literal string: B24@0:8:16
0x10000772A 0x00000009  [  3] literal string: Vv16@0:8
0x100007733 0x00000008  [  3] literal string: Q16@0:8
0x10000773B 0x00000012  [  3] literal string: ^{_NSZone=}16@0:8
0x10000774D 0x00000015  [  3] literal string: B24@0:8@"Protocol"16
0x100007762 0x00000012  [  3] literal string: @"NSString"16@0:8
0x100007774 0x0000000B  [  3] literal string: v24@0:8@16
0x10000777F 0x0000000E  [  3] literal string: B32@0:8@16@24
0x10000778D 0x00000014  [  3] literal string: B48@0:8@16@24@32@40
0x1000077A1 0x00000011  [  3] literal string: B40@0:8@16@24@32
0x1000077B2 0x00000011  [  3] literal string: v40@0:8@16q24d32
0x1000077C3 0x0000000E  [  3] literal string: v32@0:8@16q24
0x1000077D1 0x0000002D  [  3] literal string: v56@0:8@16{CGRect={CGPoint=dd}{CGSize=dd}}24
0x1000077FE 0x0000000E  [  3] literal string: v32@0:8@16@24
0x10000780C 0x00000015  [  3] literal string: v48@0:8@16@24@32@?40
0x100007821 0x00000018  [  3] literal string: v56@0:8@16@24@32@40@?48
0x100007839 0x00000012  [  3] literal string: v40@0:8@16@24@?32
0x10000784B 0x0000000F  [  3] literal string: v32@0:8@16@?24
0x10000785A 0x0000000E  [  3] literal string: Q32@0:8@16@24
0x100007868 0x00000011  [  3] literal string: @40@0:8@16@24@32
0x100007879 0x00000012  [  3] literal string: B40@0:8@16@24@?32
0x10000788B 0x00000011  [  3] literal string: v40@0:8@16@24@32
0x10000789C 0x0000001A  [  3] literal string: v24@0:8@"UIApplication"16
0x1000078B6 0x0000002B  [  3] literal string: B32@0:8@"UIApplication"16@"NSDictionary"24
0x1000078E1 0x00000024  [  3] literal string: B32@0:8@"UIApplication"16@"NSURL"24
0x100007905 0x00000034  [  3] literal string: B48@0:8@"UIApplication"16@"NSURL"24@"NSString"32@40
0x100007939 0x00000035  [  3] literal string: B40@0:8@"UIApplication"16@"NSURL"24@"NSDictionary"32
0x10000796E 0x00000020  [  3] literal string: v40@0:8@"UIApplication"16q24d32
0x10000798E 0x0000001D  [  3] literal string: v32@0:8@"UIApplication"16q24
0x1000079AB 0x0000003C  [  3] literal string: v56@0:8@"UIApplication"16{CGRect={CGPoint=dd}{CGSize=dd}}24
0x1000079E7 0x00000039  [  3] literal string: v32@0:8@"UIApplication"16@"UIUserNotificationSettings"24
0x100007A20 0x00000025  [  3] literal string: v32@0:8@"UIApplication"16@"NSData"24
0x100007A45 0x00000026  [  3] literal string: v32@0:8@"UIApplication"16@"NSError"24
0x100007A6B 0x0000002B  [  3] literal string: v32@0:8@"UIApplication"16@"NSDictionary"24
0x100007A96 0x00000032  [  3] literal string: v32@0:8@"UIApplication"16@"UILocalNotification"24
0x100007AC8 0x00000048  [  3] literal string: v48@0:8@"UIApplication"16@"NSString"24@"UILocalNotification"32@?<v@?>40
0x100007B10 0x00000052  [  3] literal string: v56@0:8@"UIApplication"16@"NSString"24@"NSDictionary"32@"NSDictionary"40@?<v@?>48
0x100007B62 0x00000041  [  3] literal string: v48@0:8@"UIApplication"16@"NSString"24@"NSDictionary"32@?<v@?>40
0x100007BA3 0x00000059  [  3] literal string: v56@0:8@"UIApplication"16@"NSString"24@"UILocalNotification"32@"NSDictionary"40@?<v@?>48
0x100007BFC 0x00000035  [  3] literal string: v40@0:8@"UIApplication"16@"NSDictionary"24@?<v@?Q>32
0x100007C31 0x00000024  [  3] literal string: v32@0:8@"UIApplication"16@?<v@?Q>24
0x100007C55 0x00000042  [  3] literal string: v40@0:8@"UIApplication"16@"UIApplicationShortcutItem"24@?<v@?B>32
0x100007C97 0x00000030  [  3] literal string: v40@0:8@"UIApplication"16@"NSString"24@?<v@?>32
0x100007CC7 0x00000043  [  3] literal string: v40@0:8@"UIApplication"16@"NSDictionary"24@?<v@?@"NSDictionary">32
0x100007D0A 0x00000043  [  3] literal string: v40@0:8@"UIApplication"16@"INIntent"24@?<v@?@"INIntentResponse">32
0x100007D4D 0x00000027  [  3] literal string: Q32@0:8@"UIApplication"16@"UIWindow"24
0x100007D74 0x00000027  [  3] literal string: B32@0:8@"UIApplication"16@"NSString"24
0x100007D9B 0x00000044  [  3] literal string: @"UIViewController"40@0:8@"UIApplication"16@"NSArray"24@"NSCoder"32
0x100007DDF 0x00000026  [  3] literal string: B32@0:8@"UIApplication"16@"NSCoder"24
0x100007E05 0x00000026  [  3] literal string: v32@0:8@"UIApplication"16@"NSCoder"24
0x100007E2B 0x00000040  [  3] literal string: B40@0:8@"UIApplication"16@"NSUserActivity"24@?<v@?@"NSArray">32
0x100007E6B 0x00000033  [  3] literal string: v40@0:8@"UIApplication"16@"NSString"24@"NSError"32
0x100007E9E 0x0000002D  [  3] literal string: v32@0:8@"UIApplication"16@"NSUserActivity"24
0x100007ECB 0x0000002E  [  3] literal string: v32@0:8@"UIApplication"16@"CKShareMetadata"24
0x100007EF9 0x00000012  [  3] literal string: @"UIWindow"16@0:8
0x100007F0B 0x00000015  [  3] literal string: v24@0:8@"UIWindow"16
0x100007F20 0x0000000C  [  3] literal string: @"UIWindow"
0x100007F2C 0x00000005  [  3] literal string: hash
0x100007F31 0x00000005  [  3] literal string: TQ,R
0x100007F36 0x0000000B  [  3] literal string: superclass
0x100007F41 0x00000005  [  3] literal string: T#,R
0x100007F46 0x0000000C  [  3] literal string: description
0x100007F52 0x00000011  [  3] literal string: T@"NSString",R,C
0x100007F63 0x00000011  [  3] literal string: debugDescription
0x100007F74 0x00000007  [  3] literal string: window
0x100007F7B 0x00000011  [  3] literal string: T@"UIWindow",&,N
0x100007F8C 0x0000001A  [  3] literal string: T@"UIWindow",&,N,V_window
0x100007FA8 0x00000058  [  0] compact unwind info
0x100008000 0x00000008  [  0] non-lazy-pointer-to-local: dyld_stub_binder
0x100008008 0x00000008  [  0] non-lazy-pointer
0x100008010 0x00000008  [  4] _NSStringFromClass
0x100008018 0x00000008  [  6] _UIApplicationMain
0x100008020 0x00000008  [  5] _objc_autoreleasePoolPop
0x100008028 0x00000008  [  5] _objc_autoreleasePoolPush
0x100008030 0x00000008  [  5] _objc_msgSend
0x100008038 0x00000008  [  5] _objc_msgSendSuper2
0x100008040 0x00000008  [  5] _objc_release
0x100008048 0x00000008  [  5] _objc_retainAutoreleasedReturnValue
0x100008050 0x00000008  [  5] _objc_storeStrong
0x100008058 0x00000008  [  1] l_OBJC_LABEL_CLASS_$
0x100008060 0x00000008  [  3] l_OBJC_LABEL_CLASS_$
0x100008068 0x00000008  [  3] l_OBJC_LABEL_PROTOCOL_$_NSObject
0x100008070 0x00000008  [  3] l_OBJC_LABEL_PROTOCOL_$_UIApplicationDelegate
0x100008078 0x00000008  [  0] objc image info
0x100008080 0x00000048  [  1] l_OBJC_METACLASS_RO_$_ViewController
0x1000080C8 0x00000038  [  1] l_OBJC_$_INSTANCE_METHODS_ViewController
0x100008100 0x00000048  [  1] l_OBJC_CLASS_RO_$_ViewController
0x100008148 0x000001D0  [  3] l_OBJC_$_PROTOCOL_INSTANCE_METHODS_NSObject
0x100008318 0x00000020  [  3] l_OBJC_$_PROTOCOL_INSTANCE_METHODS_OPT_NSObject
0x100008338 0x00000048  [  3] l_OBJC_$_PROP_LIST_NSObject
0x100008380 0x000000A0  [  3] l_OBJC_$_PROTOCOL_METHOD_TYPES_NSObject
0x100008420 0x00000018  [  3] l_OBJC_$_PROTOCOL_REFS_UIApplicationDelegate
0x100008438 0x000004A0  [  3] l_OBJC_$_PROTOCOL_INSTANCE_METHODS_OPT_UIApplicationDelegate
0x1000088D8 0x00000018  [  3] l_OBJC_$_PROP_LIST_UIApplicationDelegate
0x1000088F0 0x00000188  [  3] l_OBJC_$_PROTOCOL_METHOD_TYPES_UIApplicationDelegate
0x100008A78 0x00000018  [  3] l_OBJC_CLASS_PROTOCOLS_$_AppDelegate
0x100008A90 0x00000048  [  3] l_OBJC_METACLASS_RO_$_AppDelegate
0x100008AD8 0x000000E0  [  3] l_OBJC_$_INSTANCE_METHODS_AppDelegate
0x100008BB8 0x00000028  [  3] l_OBJC_$_INSTANCE_VARIABLES_AppDelegate
0x100008BE0 0x00000058  [  3] l_OBJC_$_PROP_LIST_AppDelegate
0x100008C38 0x00000048  [  3] l_OBJC_CLASS_RO_$_AppDelegate
0x100008C80 0x00000008  [  1] pointer-to-literal-cstring
0x100008C88 0x00000008  [  1] pointer-to-literal-cstring
0x100008C90 0x00000008  [  2] pointer-to-literal-cstring
0x100008C98 0x00000008  [  2] objc-class-ref
0x100008CA0 0x00000008  [  1] l_OBJC_CLASSLIST_SUP_REFS_$_
0x100008CA8 0x00000004  [  3] _OBJC_IVAR_$_AppDelegate._window
0x100008CB0 0x00000028  [  1] _OBJC_CLASS_$_ViewController
0x100008CD8 0x00000028  [  1] _OBJC_METACLASS_$_ViewController
0x100008D00 0x00000028  [  3] _OBJC_METACLASS_$_AppDelegate
0x100008D28 0x00000028  [  3] _OBJC_CLASS_$_AppDelegate
0x100008D50 0x00000060  [  3] l_OBJC_PROTOCOL_$_NSObject
0x100008DB0 0x00000060  [  3] l_OBJC_PROTOCOL_$_UIApplicationDelegate
0x10000C000 0x0000B3CE  [  0] bitcode bundle

// 已废弃&多余重复的字段
# Dead Stripped Symbols:
#           Size        File  Name
<<dead>>    0x00000006  [  3] literal string: class
<<dead>>    0x00000008  [  3] literal string: v16@0:8

猜你喜欢

转载自blog.csdn.net/zhuge1127/article/details/82078204