研读 项目名-LinkMap-normal-x86_64.txt

一、生成 Link Map File

Xcode的配置中 Target -> Build Setting -> Linking 将Write Link Map File设置为YES来生成Link Map File,运行代码即可生成Link Map File

二、查看  Link Map File文件

cd /Users/maochengfang/Library/Developer/Xcode/DerivedData/learnDISsemaphore-bamrvwubjyvskafwmmhxlpfjxmcn/Build/Intermediates.noindex/learnDISsemaphore.build/Debug-iphonesimulator/learnDISsemaphore.build

ZZ@ZZZZ-Pro learnDISsemaphore.build % ls
Base.lproj
DerivedSources
Objects-normal
all-product-headers.yaml
assetcatalog_dependencies
assetcatalog_generated_info.plist
learnDISsemaphore-LinkMap-normal-x86_64.txt
learnDISsemaphore-all-non-framework-target-headers.hmap
learnDISsemaphore-all-target-headers.hmap
learnDISsemaphore-generated-files.hmap
learnDISsemaphore-own-target-headers.hmap
learnDISsemaphore-project-headers.hmap
learnDISsemaphore.app-Simulated.xcent
learnDISsemaphore.app.xcent
learnDISsemaphore.hmap

learnDISsemaphore-LinkMap-normal-x86_64.txt就是Link Map File 文件

cat learnDISsemaphore-LinkMap-normal-x86_64.txt
# Path: /Users/maochengfang/Library/Developer/Xcode/DerivedData/learnDISsemaphore-bamrvwubjyvskafwmmhxlpfjxmcn/Build/Products/Debug-iphonesimulator/learnDISsemaphore.app/learnDISsemaphore
# Arch: x86_64
# Object files:
[  0] linker synthesized
[  1] /Users/maochengfang/Library/Developer/Xcode/DerivedData/learnDISsemaphore-bamrvwubjyvskafwmmhxlpfjxmcn/Build/Intermediates.noindex/learnDISsemaphore.build/Debug-iphonesimulator/learnDISsemaphore.build/learnDISsemaphore.app-Simulated.xcent
[  2] /Users/maochengfang/Library/Developer/Xcode/DerivedData/learnDISsemaphore-bamrvwubjyvskafwmmhxlpfjxmcn/Build/Intermediates.noindex/learnDISsemaphore.build/Debug-iphonesimulator/learnDISsemaphore.build/Objects-normal/x86_64/ViewController.o
[  3] /Users/maochengfang/Library/Developer/Xcode/DerivedData/learnDISsemaphore-bamrvwubjyvskafwmmhxlpfjxmcn/Build/Intermediates.noindex/learnDISsemaphore.build/Debug-iphonesimulator/learnDISsemaphore.build/Objects-normal/x86_64/AppDelegate.o
[  4] /Users/maochengfang/Library/Developer/Xcode/DerivedData/learnDISsemaphore-bamrvwubjyvskafwmmhxlpfjxmcn/Build/Intermediates.noindex/learnDISsemaphore.build/Debug-iphonesimulator/learnDISsemaphore.build/Objects-normal/x86_64/main.o
[  5] /Users/maochengfang/Library/Developer/Xcode/DerivedData/learnDISsemaphore-bamrvwubjyvskafwmmhxlpfjxmcn/Build/Intermediates.noindex/learnDISsemaphore.build/Debug-iphonesimulator/learnDISsemaphore.build/Objects-normal/x86_64/SceneDelegate.o
[  6] /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/System/Library/Frameworks//Foundation.framework/Foundation.tbd
[  7] /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/usr/lib/libobjc.tbd
[  8] /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/usr/lib/libSystem.tbd
[  9] /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/System/Library/Frameworks//UIKit.framework/UIKit.tbd
# Sections:
# Address	Size    	Segment	Section
0x100001A50	0x00000903	__TEXT	__text
0x100002354	0x00000060	__TEXT	__stubs
0x1000023B4	0x000000B0	__TEXT	__stub_helper
0x100002464	0x00000D5B	__TEXT	__objc_methname
0x1000031C0	0x0000002A	__TEXT	__ustring
0x1000031EA	0x00000096	__TEXT	__cstring
0x100003280	0x00000070	__TEXT	__objc_classname
0x1000032F0	0x00000B0F	__TEXT	__objc_methtype
0x100003DFF	0x000001AA	__TEXT	__entitlements
0x100003FAC	0x00000048	__TEXT	__unwind_info
0x100004000	0x00000028	__DATA_CONST	__got
0x100004028	0x00000070	__DATA_CONST	__const
0x100004098	0x00000080	__DATA_CONST	__cfstring
0x100004118	0x00000018	__DATA_CONST	__objc_classlist
0x100004130	0x00000020	__DATA_CONST	__objc_protolist
0x100004150	0x00000008	__DATA_CONST	__objc_imageinfo
0x100008000	0x00000080	__DATA	__la_symbol_ptr
0x100008080	0x00001340	__DATA	__objc_const
0x1000093C0	0x00000028	__DATA	__objc_selrefs
0x1000093E8	0x00000018	__DATA	__objc_classrefs
0x100009400	0x00000008	__DATA	__objc_superrefs
0x100009408	0x00000008	__DATA	__objc_ivar
0x100009410	0x000000F0	__DATA	__objc_data
0x100009500	0x00000188	__DATA	__data
# Symbols:
# Address	Size    	File  Name
0x100001A50	0x00000050	[  2] -[ViewController viewDidLoad]
0x100001AA0	0x000001E0	[  2] -[ViewController testFunc]
0x100001C80	0x00000070	[  2] ___26-[ViewController testFunc]_block_invoke
0x100001CF0	0x00000040	[  2] ___copy_helper_block_e8_32s
0x100001D30	0x00000030	[  2] ___destroy_helper_block_e8_32s
0x100001D60	0x00000070	[  2] ___26-[ViewController testFunc]_block_invoke.6
0x100001DD0	0x0000005A	[  2] ___26-[ViewController testFunc]_block_invoke_2
0x100001E30	0x00000080	[  3] -[AppDelegate application:didFinishLaunchingWithOptions:]
0x100001EB0	0x00000120	[  3] -[AppDelegate application:configurationForConnectingSceneSession:options:]
0x100001FD0	0x00000070	[  3] -[AppDelegate application:didDiscardSceneSessions:]
0x100002040	0x0000008E	[  4] _main
0x1000020D0	0x000000B0	[  5] -[SceneDelegate scene:willConnectToSession:options:]
0x100002180	0x00000040	[  5] -[SceneDelegate sceneDidDisconnect:]
0x1000021C0	0x00000040	[  5] -[SceneDelegate sceneDidBecomeActive:]
0x100002200	0x00000040	[  5] -[SceneDelegate sceneWillResignActive:]
0x100002240	0x00000040	[  5] -[SceneDelegate sceneWillEnterForeground:]
0x100002280	0x00000040	[  5] -[SceneDelegate sceneDidEnterBackground:]
0x1000022C0	0x00000020	[  5] -[SceneDelegate window]
0x1000022E0	0x00000040	[  5] -[SceneDelegate setWindow:]
0x100002320	0x00000033	[  5] -[SceneDelegate .cxx_destruct]
0x100002354	0x00000006	[  6] _NSLog
0x10000235A	0x00000006	[  6] _NSStringFromClass
0x100002360	0x00000006	[  9] _UIApplicationMain
0x100002366	0x00000006	[  8] _dispatch_async
0x10000236C	0x00000006	[  8] _dispatch_get_global_queue
0x100002372	0x00000006	[  8] _dispatch_semaphore_create
0x100002378	0x00000006	[  8] _dispatch_semaphore_signal
0x10000237E	0x00000006	[  8] _dispatch_semaphore_wait
0x100002384	0x00000006	[  7] _objc_alloc
0x10000238A	0x00000006	[  7] _objc_autoreleasePoolPop
0x100002390	0x00000006	[  7] _objc_autoreleasePoolPush
0x100002396	0x00000006	[  7] _objc_autoreleaseReturnValue
0x10000239C	0x00000006	[  7] _objc_msgSendSuper2
0x1000023A2	0x00000006	[  7] _objc_opt_class
0x1000023A8	0x00000006	[  7] _objc_retainAutoreleasedReturnValue
0x1000023AE	0x00000006	[  7] _objc_storeStrong
0x1000023B4	0x00000010	[  0] helper helper
0x1000023C4	0x0000000A	[  6] _NSLog
0x1000023CE	0x0000000A	[  6] _NSStringFromClass
0x1000023D8	0x0000000A	[  7] _objc_alloc
0x1000023E2	0x0000000A	[  7] _objc_autoreleasePoolPop
0x1000023EC	0x0000000A	[  7] _objc_autoreleasePoolPush
0x1000023F6	0x0000000A	[  7] _objc_autoreleaseReturnValue
0x100002400	0x0000000A	[  7] _objc_msgSendSuper2
0x10000240A	0x0000000A	[  7] _objc_opt_class
0x100002414	0x0000000A	[  7] _objc_retainAutoreleasedReturnValue
0x10000241E	0x0000000A	[  7] _objc_storeStrong
0x100002428	0x0000000A	[  8] _dispatch_async
0x100002432	0x0000000A	[  8] _dispatch_get_global_queue
0x10000243C	0x0000000A	[  8] _dispatch_semaphore_create
0x100002446	0x0000000A	[  8] _dispatch_semaphore_signal
0x100002450	0x0000000A	[  8] _dispatch_semaphore_wait
0x10000245A	0x0000000A	[  9] _UIApplicationMain
0x100002464	0x0000000C	[  2] literal string: viewDidLoad
0x100002470	0x00000009	[  2] literal string: testFunc
0x100002479	0x0000000E	[  2] literal string: currentThread
0x100002487	0x00000005	[  3] literal string: role
0x10000248C	0x0000001A	[  3] literal string: initWithName:sessionRole:
0x1000024A6	0x00000009	[  3] literal string: isEqual:
0x1000024AF	0x00000006	[  3] literal string: class
0x1000024B5	0x00000005	[  3] literal string: self
0x1000024BA	0x00000011	[  3] literal string: performSelector:
0x1000024CB	0x0000001C	[  3] literal string: performSelector:withObject:
0x1000024E7	0x00000027	[  3] literal string: performSelector:withObject:withObject:
0x10000250E	0x00000008	[  3] literal string: isProxy
0x100002516	0x0000000F	[  3] literal string: isKindOfClass:
0x100002525	0x00000011	[  3] literal string: isMemberOfClass:
0x100002536	0x00000014	[  3] literal string: conformsToProtocol:
0x10000254A	0x00000014	[  3] literal string: respondsToSelector:
0x10000255E	0x00000007	[  3] literal string: retain
0x100002565	0x00000008	[  3] literal string: release
0x10000256D	0x0000000C	[  3] literal string: autorelease
0x100002579	0x0000000C	[  3] literal string: retainCount
0x100002585	0x00000005	[  3] literal string: zone
0x10000258A	0x00000005	[  3] literal string: hash
0x10000258F	0x0000000B	[  3] literal string: superclass
0x10000259A	0x0000000C	[  3] literal string: description
0x1000025A6	0x00000011	[  3] literal string: debugDescription
0x1000025B7	0x0000001F	[  3] literal string: applicationDidFinishLaunching:
0x1000025D6	0x0000002C	[  3] literal string: application:willFinishLaunchingWithOptions:
0x100002602	0x0000002B	[  3] literal string: application:didFinishLaunchingWithOptions:
0x10000262D	0x0000001C	[  3] literal string: applicationDidBecomeActive:
0x100002649	0x0000001D	[  3] literal string: applicationWillResignActive:
0x100002666	0x0000001B	[  3] literal string: application:handleOpenURL:
0x100002681	0x00000032	[  3] literal string: application:openURL:sourceApplication:annotation:
0x1000026B3	0x0000001D	[  3] literal string: application:openURL:options:
0x1000026D0	0x00000024	[  3] literal string: applicationDidReceiveMemoryWarning:
0x1000026F4	0x0000001A	[  3] literal string: applicationWillTerminate:
0x10000270E	0x00000022	[  3] literal string: applicationSignificantTimeChange:
0x100002730	0x00000035	[  3] literal string: application:willChangeStatusBarOrientation:duration:
0x100002765	0x0000002B	[  3] literal string: application:didChangeStatusBarOrientation:
0x100002790	0x00000026	[  3] literal string: application:willChangeStatusBarFrame:
0x1000027B6	0x00000025	[  3] literal string: application:didChangeStatusBarFrame:
0x1000027DB	0x00000031	[  3] literal string: application:didRegisterUserNotificationSettings:
0x10000280C	0x0000003E	[  3] literal string: application:didRegisterForRemoteNotificationsWithDeviceToken:
0x10000284A	0x0000003E	[  3] literal string: application:didFailToRegisterForRemoteNotificationsWithError:
0x100002888	0x0000002A	[  3] literal string: application:didReceiveRemoteNotification:
0x1000028B2	0x00000029	[  3] literal string: application:didReceiveLocalNotification:
0x1000028DB	0x0000004F	[  3] literal string: application:handleActionWithIdentifier:forLocalNotification:completionHandler:
0x10000292A	0x00000061	[  3] literal string: application:handleActionWithIdentifier:forRemoteNotification:withResponseInfo:completionHandler:
0x10000298B	0x00000050	[  3] literal string: application:handleActionWithIdentifier:forRemoteNotification:completionHandler:
0x1000029DB	0x00000060	[  3] literal string: application:handleActionWithIdentifier:forLocalNotification:withResponseInfo:completionHandler:
0x100002A3B	0x00000041	[  3] literal string: application:didReceiveRemoteNotification:fetchCompletionHandler:
0x100002A7C	0x0000002F	[  3] literal string: application:performFetchWithCompletionHandler:
0x100002AAB	0x0000003C	[  3] literal string: application:performActionForShortcutItem:completionHandler:
0x100002AE7	0x00000043	[  3] literal string: application:handleEventsForBackgroundURLSession:completionHandler:
0x100002B2A	0x00000032	[  3] literal string: application:handleWatchKitExtensionRequest:reply:
0x100002B5C	0x0000002D	[  3] literal string: applicationShouldRequestHealthAuthorization:
0x100002B89	0x0000001E	[  3] literal string: application:handlerForIntent:
0x100002BA7	0x0000002C	[  3] literal string: application:handleIntent:completionHandler:
0x100002BD3	0x0000001F	[  3] literal string: applicationDidEnterBackground:
0x100002BF2	0x00000020	[  3] literal string: applicationWillEnterForeground:
0x100002C12	0x0000002F	[  3] literal string: applicationProtectedDataWillBecomeUnavailable:
0x100002C41	0x0000002C	[  3] literal string: applicationProtectedDataDidBecomeAvailable:
0x100002C6D	0x00000035	[  3] literal string: application:supportedInterfaceOrientationsForWindow:
0x100002CA2	0x00000031	[  3] literal string: application:shouldAllowExtensionPointIdentifier:
0x100002CD3	0x0000003F	[  3] literal string: application:viewControllerWithRestorationIdentifierPath:coder:
0x100002D12	0x0000002E	[  3] literal string: application:shouldSaveSecureApplicationState:
0x100002D40	0x00000031	[  3] literal string: application:shouldRestoreSecureApplicationState:
0x100002D71	0x00000030	[  3] literal string: application:willEncodeRestorableStateWithCoder:
0x100002DA1	0x0000002F	[  3] literal string: application:didDecodeRestorableStateWithCoder:
0x100002DD0	0x00000028	[  3] literal string: application:shouldSaveApplicationState:
0x100002DF8	0x0000002B	[  3] literal string: application:shouldRestoreApplicationState:
0x100002E23	0x0000002E	[  3] literal string: application:willContinueUserActivityWithType:
0x100002E51	0x00000035	[  3] literal string: application:continueUserActivity:restorationHandler:
0x100002E86	0x00000039	[  3] literal string: application:didFailToContinueUserActivityWithType:error:
0x100002EBF	0x00000023	[  3] literal string: application:didUpdateUserActivity:
0x100002EE2	0x00000034	[  3] literal string: application:userDidAcceptCloudKitShareWithMetadata:
0x100002F16	0x0000003C	[  3] literal string: application:configurationForConnectingSceneSession:options:
0x100002F52	0x00000025	[  3] literal string: application:didDiscardSceneSessions:
0x100002F77	0x00000007	[  3] literal string: window
0x100002F7E	0x0000000B	[  3] literal string: setWindow:
0x100002F89	0x00000024	[  5] literal string: scene:willConnectToSession:options:
0x100002FAD	0x00000014	[  5] literal string: sceneDidDisconnect:
0x100002FC1	0x00000016	[  5] literal string: sceneDidBecomeActive:
0x100002FD7	0x00000017	[  5] literal string: sceneWillResignActive:
0x100002FEE	0x0000001A	[  5] literal string: sceneWillEnterForeground:
0x100003008	0x00000019	[  5] literal string: sceneDidEnterBackground:
0x100003021	0x00000017	[  5] literal string: scene:openURLContexts:
0x100003038	0x00000022	[  5] literal string: stateRestorationActivityForScene:
0x10000305A	0x00000028	[  5] literal string: scene:willContinueUserActivityWithType:
0x100003082	0x0000001C	[  5] literal string: scene:continueUserActivity:
0x10000309E	0x00000033	[  5] literal string: scene:didFailToContinueUserActivityWithType:error:
0x1000030D1	0x0000001D	[  5] literal string: scene:didUpdateUserActivity:
0x1000030EE	0x0000004B	[  5] literal string: windowScene:didUpdateCoordinateSpace:interfaceOrientation:traitCollection:
0x100003139	0x0000003C	[  5] literal string: windowScene:performActionForShortcutItem:completionHandler:
0x100003175	0x00000034	[  5] literal string: windowScene:userDidAcceptCloudKitShareWithMetadata:
0x1000031A9	0x0000000E	[  5] literal string: .cxx_destruct
0x1000031B7	0x00000008	[  5] literal string: _window
0x1000031C0	0x0000000E	[  2] l_.str
0x1000031CE	0x0000000E	[  2] l_.str.7
0x1000031DC	0x0000000E	[  2] l_.str.9
0x1000031EA	0x00000006	[  2] literal string: v8@?0
0x1000031F0	0x00000016	[  3] literal string: Default Configuration
0x100003206	0x00000005	[  3] literal string: hash
0x10000320B	0x00000005	[  3] literal string: TQ,R
0x100003210	0x0000000B	[  3] literal string: superclass
0x10000321B	0x00000005	[  3] literal string: T#,R
0x100003220	0x0000000C	[  3] literal string: description
0x10000322C	0x00000011	[  3] literal string: T@"NSString",R,C
0x10000323D	0x00000011	[  3] literal string: debugDescription
0x10000324E	0x00000007	[  3] literal string: window
0x100003255	0x00000011	[  3] literal string: T@"UIWindow",&,N
0x100003266	0x0000001A	[  5] literal string: T@"UIWindow",&,N,V_window
0x100003280	0x0000000F	[  2] literal string: ViewController
0x10000328F	0x0000000C	[  3] literal string: AppDelegate
0x10000329B	0x00000016	[  3] literal string: UIApplicationDelegate
0x1000032B1	0x00000009	[  3] literal string: NSObject
0x1000032BA	0x0000000E	[  5] literal string: SceneDelegate
0x1000032C8	0x00000016	[  5] literal string: UIWindowSceneDelegate
0x1000032DE	0x00000010	[  5] literal string: UISceneDelegate
0x1000032EE	0x00000002	[  5] literal string: 
0x1000032F0	0x00000008	[  2] literal string: v16@0:8
0x1000032F8	0x0000000B	[  3] literal string: B24@0:8@16
0x100003303	0x00000008	[  3] literal string: #16@0:8
0x10000330B	0x00000008	[  3] literal string: @16@0:8
0x100003313	0x0000000B	[  3] literal string: @24@0:8:16
0x10000331E	0x0000000E	[  3] literal string: @32@0:8:16@24
0x10000332C	0x00000011	[  3] literal string: @40@0:8:16@24@32
0x10000333D	0x00000008	[  3] literal string: B16@0:8
0x100003345	0x0000000B	[  3] literal string: B24@0:8#16
0x100003350	0x0000000B	[  3] literal string: B24@0:8:16
0x10000335B	0x00000009	[  3] literal string: Vv16@0:8
0x100003364	0x00000008	[  3] literal string: Q16@0:8
0x10000336C	0x00000012	[  3] literal string: ^{_NSZone=}16@0:8
0x10000337E	0x00000015	[  3] literal string: B24@0:8@"Protocol"16
0x100003393	0x00000012	[  3] literal string: @"NSString"16@0:8
0x1000033A5	0x0000000B	[  3] literal string: v24@0:8@16
0x1000033B0	0x0000000E	[  3] literal string: B32@0:8@16@24
0x1000033BE	0x00000014	[  3] literal string: B48@0:8@16@24@32@40
0x1000033D2	0x00000011	[  3] literal string: B40@0:8@16@24@32
0x1000033E3	0x00000011	[  3] literal string: v40@0:8@16q24d32
0x1000033F4	0x0000000E	[  3] literal string: v32@0:8@16q24
0x100003402	0x0000002D	[  3] literal string: v56@0:8@16{CGRect={CGPoint=dd}{CGSize=dd}}24
0x10000342F	0x0000000E	[  3] literal string: v32@0:8@16@24
0x10000343D	0x00000015	[  3] literal string: v48@0:8@16@24@32@?40
0x100003452	0x00000018	[  3] literal string: v56@0:8@16@24@32@40@?48
0x10000346A	0x00000012	[  3] literal string: v40@0:8@16@24@?32
0x10000347C	0x0000000F	[  3] literal string: v32@0:8@16@?24
0x10000348B	0x0000000E	[  3] literal string: @32@0:8@16@24
0x100003499	0x0000000E	[  3] literal string: Q32@0:8@16@24
0x1000034A7	0x00000011	[  3] literal string: @40@0:8@16@24@32
0x1000034B8	0x00000012	[  3] literal string: B40@0:8@16@24@?32
0x1000034CA	0x00000011	[  3] literal string: v40@0:8@16@24@32
0x1000034DB	0x0000001A	[  3] literal string: v24@0:8@"UIApplication"16
0x1000034F5	0x0000002B	[  3] literal string: B32@0:8@"UIApplication"16@"NSDictionary"24
0x100003520	0x00000024	[  3] literal string: B32@0:8@"UIApplication"16@"NSURL"24
0x100003544	0x00000034	[  3] literal string: B48@0:8@"UIApplication"16@"NSURL"24@"NSString"32@40
0x100003578	0x00000035	[  3] literal string: B40@0:8@"UIApplication"16@"NSURL"24@"NSDictionary"32
0x1000035AD	0x00000020	[  3] literal string: v40@0:8@"UIApplication"16q24d32
0x1000035CD	0x0000001D	[  3] literal string: v32@0:8@"UIApplication"16q24
0x1000035EA	0x0000003C	[  3] literal string: v56@0:8@"UIApplication"16{CGRect={CGPoint=dd}{CGSize=dd}}24
0x100003626	0x00000039	[  3] literal string: v32@0:8@"UIApplication"16@"UIUserNotificationSettings"24
0x10000365F	0x00000025	[  3] literal string: v32@0:8@"UIApplication"16@"NSData"24
0x100003684	0x00000026	[  3] literal string: v32@0:8@"UIApplication"16@"NSError"24
0x1000036AA	0x0000002B	[  3] literal string: v32@0:8@"UIApplication"16@"NSDictionary"24
0x1000036D5	0x00000032	[  3] literal string: v32@0:8@"UIApplication"16@"UILocalNotification"24
0x100003707	0x00000048	[  3] literal string: v48@0:8@"UIApplication"16@"NSString"24@"UILocalNotification"32@?<v@?>40
0x10000374F	0x00000052	[  3] literal string: v56@0:8@"UIApplication"16@"NSString"24@"NSDictionary"32@"NSDictionary"40@?<v@?>48
0x1000037A1	0x00000041	[  3] literal string: v48@0:8@"UIApplication"16@"NSString"24@"NSDictionary"32@?<v@?>40
0x1000037E2	0x00000059	[  3] literal string: v56@0:8@"UIApplication"16@"NSString"24@"UILocalNotification"32@"NSDictionary"40@?<v@?>48
0x10000383B	0x00000035	[  3] literal string: v40@0:8@"UIApplication"16@"NSDictionary"24@?<v@?Q>32
0x100003870	0x00000024	[  3] literal string: v32@0:8@"UIApplication"16@?<v@?Q>24
0x100003894	0x00000042	[  3] literal string: v40@0:8@"UIApplication"16@"UIApplicationShortcutItem"24@?<v@?B>32
0x1000038D6	0x00000030	[  3] literal string: v40@0:8@"UIApplication"16@"NSString"24@?<v@?>32
0x100003906	0x00000043	[  3] literal string: v40@0:8@"UIApplication"16@"NSDictionary"24@?<v@?@"NSDictionary">32
0x100003949	0x00000027	[  3] literal string: @32@0:8@"UIApplication"16@"INIntent"24
0x100003970	0x00000043	[  3] literal string: v40@0:8@"UIApplication"16@"INIntent"24@?<v@?@"INIntentResponse">32
0x1000039B3	0x00000027	[  3] literal string: Q32@0:8@"UIApplication"16@"UIWindow"24
0x1000039DA	0x00000027	[  3] literal string: B32@0:8@"UIApplication"16@"NSString"24
0x100003A01	0x00000044	[  3] literal string: @"UIViewController"40@0:8@"UIApplication"16@"NSArray"24@"NSCoder"32
0x100003A45	0x00000026	[  3] literal string: B32@0:8@"UIApplication"16@"NSCoder"24
0x100003A6B	0x00000026	[  3] literal string: v32@0:8@"UIApplication"16@"NSCoder"24
0x100003A91	0x00000040	[  3] literal string: B40@0:8@"UIApplication"16@"NSUserActivity"24@?<v@?@"NSArray">32
0x100003AD1	0x00000033	[  3] literal string: v40@0:8@"UIApplication"16@"NSString"24@"NSError"32
0x100003B04	0x0000002D	[  3] literal string: v32@0:8@"UIApplication"16@"NSUserActivity"24
0x100003B31	0x0000002E	[  3] literal string: v32@0:8@"UIApplication"16@"CKShareMetadata"24
0x100003B5F	0x00000060	[  3] literal string: @"UISceneConfiguration"40@0:8@"UIApplication"16@"UISceneSession"24@"UISceneConnectionOptions"32
0x100003BBF	0x00000024	[  3] literal string: v32@0:8@"UIApplication"16@"NSSet"24
0x100003BE3	0x00000012	[  3] literal string: @"UIWindow"16@0:8
0x100003BF5	0x00000015	[  3] literal string: v24@0:8@"UIWindow"16
0x100003C0A	0x0000000B	[  5] literal string: @24@0:8@16
0x100003C15	0x00000044	[  5] literal string: v40@0:8@"UIScene"16@"UISceneSession"24@"UISceneConnectionOptions"32
0x100003C59	0x00000014	[  5] literal string: v24@0:8@"UIScene"16
0x100003C6D	0x0000001E	[  5] literal string: v32@0:8@"UIScene"16@"NSSet"24
0x100003C8B	0x00000024	[  5] literal string: @"NSUserActivity"24@0:8@"UIScene"16
0x100003CAF	0x00000021	[  5] literal string: v32@0:8@"UIScene"16@"NSString"24
0x100003CD0	0x00000027	[  5] literal string: v32@0:8@"UIScene"16@"NSUserActivity"24
0x100003CF7	0x0000002D	[  5] literal string: v40@0:8@"UIScene"16@"NSString"24@"NSError"32
0x100003D24	0x00000014	[  5] literal string: v48@0:8@16@24q32@40
0x100003D38	0x0000004B	[  5] literal string: v48@0:8@"UIWindowScene"16@"<UICoordinateSpace>"24q32@"UITraitCollection"40
0x100003D83	0x00000042	[  5] literal string: v40@0:8@"UIWindowScene"16@"UIApplicationShortcutItem"24@?<v@?B>32
0x100003DC5	0x0000002E	[  5] literal string: v32@0:8@"UIWindowScene"16@"CKShareMetadata"24
0x100003DF3	0x0000000C	[  5] literal string: @"UIWindow"
0x100003DFF	0x000001AA	[  1] opaque_section
0x100003FAC	0x00000048	[  0] compact unwind info
0x100004000	0x00000008	[  0] non-lazy-pointer-to-local: __NSConcreteStackBlock
0x100004008	0x00000008	[  0] non-lazy-pointer-to-local: _objc_msgSend
0x100004010	0x00000008	[  0] non-lazy-pointer-to-local: _objc_release
0x100004018	0x00000008	[  0] non-lazy-pointer-to-local: _objc_retain
0x100004020	0x00000008	[  0] non-lazy-pointer-to-local: dyld_stub_binder
0x100004028	0x00000030	[  2] ___block_descriptor_40_e8_32s_e5_v8?0l
0x100004058	0x00000020	[  2] ___block_descriptor_32_e5_v8?0l
0x100004078	0x00000020	[  2] ___block_literal_global
0x100004098	0x00000020	[  2] CFString
0x1000040B8	0x00000020	[  2] CFString
0x1000040D8	0x00000020	[  2] CFString
0x1000040F8	0x00000020	[  3] CFString
0x100004118	0x00000008	[  2] objc-cat-list
0x100004120	0x00000008	[  3] objc-cat-list
0x100004128	0x00000008	[  5] objc-cat-list
0x100004130	0x00000008	[  3] __OBJC_LABEL_PROTOCOL_$_NSObject
0x100004138	0x00000008	[  3] __OBJC_LABEL_PROTOCOL_$_UIApplicationDelegate
0x100004140	0x00000008	[  5] __OBJC_LABEL_PROTOCOL_$_UISceneDelegate
0x100004148	0x00000008	[  5] __OBJC_LABEL_PROTOCOL_$_UIWindowSceneDelegate
0x100004150	0x00000008	[  0] objc image info
0x100008000	0x00000008	[  6] _NSLog
0x100008008	0x00000008	[  6] _NSStringFromClass
0x100008010	0x00000008	[  9] _UIApplicationMain
0x100008018	0x00000008	[  8] _dispatch_async
0x100008020	0x00000008	[  8] _dispatch_get_global_queue
0x100008028	0x00000008	[  8] _dispatch_semaphore_create
0x100008030	0x00000008	[  8] _dispatch_semaphore_signal
0x100008038	0x00000008	[  8] _dispatch_semaphore_wait
0x100008040	0x00000008	[  7] _objc_alloc
0x100008048	0x00000008	[  7] _objc_autoreleasePoolPop
0x100008050	0x00000008	[  7] _objc_autoreleasePoolPush
0x100008058	0x00000008	[  7] _objc_autoreleaseReturnValue
0x100008060	0x00000008	[  7] _objc_msgSendSuper2
0x100008068	0x00000008	[  7] _objc_opt_class
0x100008070	0x00000008	[  7] _objc_retainAutoreleasedReturnValue
0x100008078	0x00000008	[  7] _objc_storeStrong
0x100008080	0x00000048	[  2] __OBJC_METACLASS_RO_$_ViewController
0x1000080C8	0x00000038	[  2] __OBJC_$_INSTANCE_METHODS_ViewController
0x100008100	0x00000048	[  2] __OBJC_CLASS_RO_$_ViewController
0x100008148	0x000001D0	[  3] __OBJC_$_PROTOCOL_INSTANCE_METHODS_NSObject
0x100008318	0x00000020	[  3] __OBJC_$_PROTOCOL_INSTANCE_METHODS_OPT_NSObject
0x100008338	0x00000048	[  3] __OBJC_$_PROP_LIST_NSObject
0x100008380	0x000000A0	[  3] __OBJC_$_PROTOCOL_METHOD_TYPES_NSObject
0x100008420	0x00000018	[  3] __OBJC_$_PROTOCOL_REFS_UIApplicationDelegate
0x100008438	0x00000518	[  3] __OBJC_$_PROTOCOL_INSTANCE_METHODS_OPT_UIApplicationDelegate
0x100008950	0x00000018	[  3] __OBJC_$_PROP_LIST_UIApplicationDelegate
0x100008968	0x000001B0	[  3] __OBJC_$_PROTOCOL_METHOD_TYPES_UIApplicationDelegate
0x100008B18	0x00000018	[  3] __OBJC_CLASS_PROTOCOLS_$_AppDelegate
0x100008B30	0x00000048	[  3] __OBJC_METACLASS_RO_$_AppDelegate
0x100008B78	0x00000050	[  3] __OBJC_$_INSTANCE_METHODS_AppDelegate
0x100008BC8	0x00000058	[  3] __OBJC_$_PROP_LIST_AppDelegate
0x100008C20	0x00000048	[  3] __OBJC_CLASS_RO_$_AppDelegate
0x100008C68	0x000001D0	[  5] __OBJC_$_PROTOCOL_INSTANCE_METHODS_NSObject
0x100008E38	0x00000020	[  5] __OBJC_$_PROTOCOL_INSTANCE_METHODS_OPT_NSObject
0x100008E58	0x00000048	[  5] __OBJC_$_PROP_LIST_NSObject
0x100008EA0	0x000000A0	[  5] __OBJC_$_PROTOCOL_METHOD_TYPES_NSObject
0x100008F40	0x00000018	[  5] __OBJC_$_PROTOCOL_REFS_UISceneDelegate
0x100008F58	0x00000128	[  5] __OBJC_$_PROTOCOL_INSTANCE_METHODS_OPT_UISceneDelegate
0x100009080	0x00000060	[  5] __OBJC_$_PROTOCOL_METHOD_TYPES_UISceneDelegate
0x1000090E0	0x00000018	[  5] __OBJC_$_PROTOCOL_REFS_UIWindowSceneDelegate
0x1000090F8	0x00000080	[  5] __OBJC_$_PROTOCOL_INSTANCE_METHODS_OPT_UIWindowSceneDelegate
0x100009178	0x00000018	[  5] __OBJC_$_PROP_LIST_UIWindowSceneDelegate
0x100009190	0x00000028	[  5] __OBJC_$_PROTOCOL_METHOD_TYPES_UIWindowSceneDelegate
0x1000091B8	0x00000018	[  5] __OBJC_CLASS_PROTOCOLS_$_SceneDelegate
0x1000091D0	0x00000048	[  5] __OBJC_METACLASS_RO_$_SceneDelegate
0x100009218	0x000000E0	[  5] __OBJC_$_INSTANCE_METHODS_SceneDelegate
0x1000092F8	0x00000028	[  5] __OBJC_$_INSTANCE_VARIABLES_SceneDelegate
0x100009320	0x00000058	[  5] __OBJC_$_PROP_LIST_SceneDelegate
0x100009378	0x00000048	[  5] __OBJC_CLASS_RO_$_SceneDelegate
0x1000093C0	0x00000008	[  2] pointer-to-literal-cstring
0x1000093C8	0x00000008	[  2] pointer-to-literal-cstring
0x1000093D0	0x00000008	[  2] pointer-to-literal-cstring
0x1000093D8	0x00000008	[  3] pointer-to-literal-cstring
0x1000093E0	0x00000008	[  3] pointer-to-literal-cstring
0x1000093E8	0x00000008	[  2] objc-class-ref
0x1000093F0	0x00000008	[  3] objc-class-ref
0x1000093F8	0x00000008	[  4] objc-class-ref
0x100009400	0x00000008	[  2] anon
0x100009408	0x00000008	[  5] _OBJC_IVAR_$_SceneDelegate._window
0x100009410	0x00000028	[  2] _OBJC_CLASS_$_ViewController
0x100009438	0x00000028	[  2] _OBJC_METACLASS_$_ViewController
0x100009460	0x00000028	[  3] _OBJC_METACLASS_$_AppDelegate
0x100009488	0x00000028	[  3] _OBJC_CLASS_$_AppDelegate
0x1000094B0	0x00000028	[  5] _OBJC_METACLASS_$_SceneDelegate
0x1000094D8	0x00000028	[  5] _OBJC_CLASS_$_SceneDelegate
0x100009500	0x00000008	[  0] __dyld_private
0x100009508	0x00000060	[  3] __OBJC_PROTOCOL_$_NSObject
0x100009568	0x00000060	[  3] __OBJC_PROTOCOL_$_UIApplicationDelegate
0x1000095C8	0x00000060	[  5] __OBJC_PROTOCOL_$_UISceneDelegate
0x100009628	0x00000060	[  5] __OBJC_PROTOCOL_$_UIWindowSceneDelegate

# Dead Stripped Symbols:
#        	Size    	File  Name
<<dead>> 	0x00000018	[  2] CIE
<<dead>> 	0x00000018	[  3] CIE
<<dead>> 	0x00000018	[  4] CIE
<<dead>> 	0x00000009	[  5] literal string: NSObject
<<dead>> 	0x00000009	[  5] literal string: isEqual:
<<dead>> 	0x00000006	[  5] literal string: class
<<dead>> 	0x00000005	[  5] literal string: self
<<dead>> 	0x00000011	[  5] literal string: performSelector:
<<dead>> 	0x0000001C	[  5] literal string: performSelector:withObject:
<<dead>> 	0x00000027	[  5] literal string: performSelector:withObject:withObject:
<<dead>> 	0x00000008	[  5] literal string: isProxy
<<dead>> 	0x0000000F	[  5] literal string: isKindOfClass:
<<dead>> 	0x00000011	[  5] literal string: isMemberOfClass:
<<dead>> 	0x00000014	[  5] literal string: conformsToProtocol:
<<dead>> 	0x00000014	[  5] literal string: respondsToSelector:
<<dead>> 	0x00000007	[  5] literal string: retain
<<dead>> 	0x00000008	[  5] literal string: release
<<dead>> 	0x0000000C	[  5] literal string: autorelease
<<dead>> 	0x0000000C	[  5] literal string: retainCount
<<dead>> 	0x00000005	[  5] literal string: zone
<<dead>> 	0x00000005	[  5] literal string: hash
<<dead>> 	0x0000000B	[  5] literal string: superclass
<<dead>> 	0x0000000C	[  5] literal string: description
<<dead>> 	0x00000011	[  5] literal string: debugDescription
<<dead>> 	0x00000007	[  5] literal string: window
<<dead>> 	0x0000000B	[  5] literal string: setWindow:
<<dead>> 	0x0000000B	[  5] literal string: B24@0:8@16
<<dead>> 	0x00000008	[  5] literal string: #16@0:8
<<dead>> 	0x00000008	[  5] literal string: @16@0:8
<<dead>> 	0x0000000B	[  5] literal string: @24@0:8:16
<<dead>> 	0x0000000E	[  5] literal string: @32@0:8:16@24
<<dead>> 	0x00000011	[  5] literal string: @40@0:8:16@24@32
<<dead>> 	0x00000008	[  5] literal string: B16@0:8
<<dead>> 	0x0000000B	[  5] literal string: B24@0:8#16
<<dead>> 	0x0000000B	[  5] literal string: B24@0:8:16
<<dead>> 	0x00000009	[  5] literal string: Vv16@0:8
<<dead>> 	0x00000008	[  5] literal string: Q16@0:8
<<dead>> 	0x00000012	[  5] literal string: ^{_NSZone=}16@0:8
<<dead>> 	0x00000015	[  5] literal string: B24@0:8@"Protocol"16
<<dead>> 	0x00000012	[  5] literal string: @"NSString"16@0:8
<<dead>> 	0x00000011	[  5] literal string: v40@0:8@16@24@32
<<dead>> 	0x0000000B	[  5] literal string: v24@0:8@16
<<dead>> 	0x0000000E	[  5] literal string: v32@0:8@16@24
<<dead>> 	0x00000012	[  5] literal string: v40@0:8@16@24@?32
<<dead>> 	0x00000012	[  5] literal string: @"UIWindow"16@0:8
<<dead>> 	0x00000015	[  5] literal string: v24@0:8@"UIWindow"16
<<dead>> 	0x00000008	[  5] literal string: v16@0:8
<<dead>> 	0x00000005	[  5] literal string: hash
<<dead>> 	0x00000005	[  5] literal string: TQ,R
<<dead>> 	0x0000000B	[  5] literal string: superclass
<<dead>> 	0x00000005	[  5] literal string: T#,R
<<dead>> 	0x0000000C	[  5] literal string: description
<<dead>> 	0x00000011	[  5] literal string: T@"NSString",R,C
<<dead>> 	0x00000011	[  5] literal string: debugDescription
<<dead>> 	0x00000007	[  5] literal string: window
<<dead>> 	0x00000011	[  5] literal string: T@"UIWindow",&,N
<<dead>> 	0x00000018	[  5] CIE

分成三个部分

001 路径部分 展示生成相关文件的路径

Path是.app文件路径

Object file是.o文件路径 

002 section部分 展示相关地址段

Mach-O文件的虚地址最终会映射到物理地址上

  • __TEXT 包含 Mach header,被执行的代码和只读常量(如C 字符串),只读可执行(r-x)。
  • __DATA 包含全局变量,静态变量等,可读写(rw-)。
  • __LINKEDIT 包含了加载程序的元数据,比如函数的名称和地址,只读(r–)。

__TEXT段中的 Section

字段说明
__text代码节,存放机器编译后的代码
__stubs用于辅助做动态链接代码(dyld
__stub_helper用于辅助做动态链接
__objc_methnameobjc的方法名称
__stub_helper用于辅助做动态链接
__cstring代码运行中包含的字符串常量, 
例:#define kKey @"123"
123会存在这个区里
__objc_classname类名
__objc_methtype方法类型
__ustring 
__gcc_except_tab 
__const存储const修饰的常量
__dof_RACSignal 
__dof_RACCompou 
__unwind_info 

__DATA段中的 Section

字段说明
__got存储引用符号的实际地址,类似于动态符号表
__la_symbol_ptrlazy symbol pointers。
懒加载的函数指针地址。
配合__stubsstub_helper使用。
__mod_init_func模块初始化的方法
__const存储constant常量的数据。
比如使用extern导出的const修饰的常量。
__cfstringCore Foundation 字符串
__objc_classlistOC类列表和类信息
映射了__objc_data的地址
__objc_nlclslistOC 的 +load 函数列表,
比  __mod_init_func 更早执行
__objc_catlistcategories
__objc_nlcatlistcategories+load`函数列表
__objc_protolist协议列表
__objc_imageinfo镜像信息
__objc_constOC常量。保存objc_classdata结构体数据。
用于映射类相关数据的地址,比如类名,方法名等
__objc_selrefs引用的 OC 方法
__objc_protorefs引用的 OC 协议
__objc_classrefs引用的 OC 类
__objc_superrefs引用的 OC超类
__objc_ivarivar指针
__objc_data用于保存类需要的数据。
最主要的内容是映射__objc_const地址,
找到类的相关数据。
__data存放了协议和已经初始化的静态量
__bss存储未初始化的静态量
__common存储导出的全局的数据

 

003 Symbols部分 方法符号段

  • Address:方法代码的地址
  • Size:方法占用的空间
  • File:文件的编号
  • Name.o文件里面的方法符号

Symbols 部分的 File 顺序是和 Target -> Build Phase -> Compile Sources 的文件顺序一致的。

参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值