使用 atos 符号化具体崩溃行

objectivec 复制代码
[E][2020-12-18 +8.0 20:55:53.821][0, 10750116352*][kTagLogSDK][, signalHandler, 157][Error:Signal Exception:
Signal SIGSEGV was raised.
Call Stack:
1   HLLCourseLive                       0x00000001015afccc HLLCourseLive + 7634124
2   HLLCourseLive                       0x0000000101f20fcc HLLCourseLive + 17534924
3   HLLCourseLive                       0x0000000101f20b4c HLLCourseLive + 17533772
4   libsystem_platform.dylib            0x00000001dab45d90 ABB790D3-1875-3996-AAEE-06E7568EA1C9 + 28048
5   CoreFoundation                      0x000000019517a3e0 96F8386D-D88A-3C89-A323-A17975C3317F + 25568
6   HLLCourseLive                       0x00000001014f5974 HLLCourseLive + 6871412
7   HLLCourseLive                       0x00000001014f57b8 HLLCourseLive + 6870968
8   HLLCourseLive                       0x00000001014f253c HLLCourseLive + 6858044
9   HLLCourseLive                       0x00000001014f34fc HLLCourseLive + 6862076
10  HLLCourseLive                       0x0000000101458e14 HLLCourseLive + 6229524
11  HLLCourseLive                       0x00000001014574fc HLLCourseLive + 6223100
12  CoreFoundation                      0x00000001951f1360 96F8386D-D88A-3C89-A323-A17975C3317F + 512864
13  CoreFoundation                      0x00000001951f1320 96F8386D-D88A-3C89-A323-A17975C3317F + 512800
14  CoreFoundation                      0x00000001951f0918 96F8386D-D88A-3C89-A323-A17975C3317F + 510232
15  CoreFoundation                      0x00000001951f0310 _CFXNotificationPost + 696
16  Foundation                          0x00000001964240a0 F1BC26A1-F5BB-36F7-A65A-D5F232DBF902 + 24736
17  HLLCourseLive                       0x000000010147ef44 HLLCourseLive + 6385476
18  HLLCourseLive                       0x00000001014adb14 HLLCourseLive + 6576916
19  libdispatch.dylib                   0x0000000194ec6298 6C143C51-288F-3CD0-84DD-17B9A0AAEE62 + 393880
20  libdispatch.dylib                   0x0000000194ec7280 6C143C51-288F-3CD0-84DD-17B9A0AAEE62 + 397952
21  libdispatch.dylib                   0x0000000194e7605c 6C143C51-288F-3CD0-84DD-17B9A0AAEE62 + 65628
22  CoreFoundation                      0x000000019520e5d0 96F8386D-D88A-3C89-A323-A17975C3317F + 632272
23  CoreFoundation                      0x0000000195208a78 96F8386D-D88A-3C89-A323-A17975C3317F + 608888
24  CoreFoundation                      0x0000000195207b90 CFRunLoopRunSpecific + 572
25  GraphicsServices                    0x00000001ab52a598 GSEventRunModal + 160
26  UIKitCore                           0x0000000197af1638 71B59F62-19DA-3CFF-89E1-DACF333BAB0D + 11716152
27  UIKitCore                           0x0000000197af6bb8 UIApplicationMain + 164
28  HLLCourseLive                       0x0000000101251438 HLLCourseLive + 4101176
29  libdyld.dylib                       0x0000000194ee6588 E31C0887-C999-3047-9B80-203248EC2396 + 5512
threadInfo:
<NSThread: 0x280c1c200>{number = 1, name = main}

1、cd 到 appName.dYSM/Contents/Resources/DWARF/

2、终端执行 xcrun atos -o ./appName -l 模块加载地址 崩溃地址 -arch arm64 命令,例如:这里的 0x00000001015afccc 这一个为崩溃地址,模块加载地址为 0x00000001015afccc - 0x747ccc(7634124的十六进制),为0x100E68000,那么终端输入如下:

objectivec 复制代码
xcrun atos -o ./HLLCourseLive -l 0x100E68000 -arch arm64

回车后,后续再输入想要符号化的地址,例如这里最后的崩溃地址:0x00000001015afccc 等,如下

有时候在符号化的时候会发现符号化出来的信息对应不上,这时候就需要确定好崩溃机型的arm架构了,具体的可以看 bugly→ 其他信息→ App Arch 字段

需要注意的是,这里只能加载地址显示为本项目非系统库的,如果需要加载系统SDK的则需要用IDA或者是otool解析了

系统符号表存储位置:~/Library/Developer/Xcode/iOS\ DeviceSupport/

objectivec 复制代码
otool -v -arch arm64 -s __TEXT __objc_methname <KitAddress> <Address>

eg:

otool -v -arch arm64 -s __TEXT __objc_methname ./CoreFoundation 0x0000000195207b90
相关推荐
Zender Han2 小时前
Flutter Android 启动页 & App 图标替换(不使用任何插件的完整实践)
android·flutter·ios
—Qeyser6 小时前
Flutter CustomScrollView 自定义滚动视图 - 完全指南
android·flutter·ios
—Qeyser7 小时前
Flutter ListView 列表组件完全指南
android·flutter·ios
游戏开发爱好者88 小时前
如何在 Windows 环境下测试 iOS App,实时日志,CPU监控
android·ios·小程序·https·uni-app·iphone·webview
ii_best9 小时前
免越狱!按键精灵鹰眼群控让电脑批量掌控 iOS 设备,功能介绍
ios·自动化·电脑
Swift社区1 天前
使用 MetricKit 监控应用性能
ios·swiftui·swift
LawrenceMssss1 天前
由于创建一个完整的App涉及到多个层面(如前端、后端、数据库等),并且每种语言通常有其特定的用途(如Java/Kotlin用于Android开发,Swift/Objective-C用于iOS开发,Py
android·java·ios
2501_915921431 天前
如何在苹果手机上面进行抓包?iOS代理抓包,数据流抓包
android·ios·智能手机·小程序·uni-app·iphone·webview
Boyang_1 天前
在 iOS 26 上@property 的一个小 bug
ios
七牛云行业应用1 天前
iOS 19.3 突发崩溃!Gemini 3 导致 JSON 解析失败的紧急修复
人工智能·ios·swift·json解析·大模型应用