符号表是内存地址与函数名、文件名、行号的映射表。
符号表元素如下所示:
<起始地址> <结束地址> <函数> [<文件名:行号>]
通过上传符号表, 我们能将 App 发生 Crash 的程序堆栈进行解析还原
- Bugly官网 创建产品,创建成功后获取应用的 App ID
- 集成 'Bugly',并在didFinishLaunchingWithOptions方法里注册
[Bugly startWithAppId:kBuglyAppID];
- 下载Bugly iOS符号表工具,里面是如下两个文件
- XCode Release编译默认会生成dSYM文件,而Debug编译默认不会生成,对应的Xcode配置如下:
XCode -> Build Settings -> Code Generation -> Generate Debug Symbols -> Yes
XCode -> Build Settings -> Build Option -> Debug Information Format -> DWARF with dSYM File - 找到dSYM文件,将dSYM文件放到刚刚的文件夹里
-
debug 直接在目录Product下app里,右键
- release 去Xcode 顶部菜单栏 -> Window -> Organizer ,对应的归档包右键
- 确认你本机的Java运行环境,JDK版本最好用1.8的。没有的话自己下载安装一下
链接: https://pan.baidu.com/s/1aeLLpGCyXxspFHoCmuyw-Q 密码: jt2m
- cd到刚刚的目录里,输入以下命令
java -jar buglyqq-upload-symbol.jar -appid 你的appid -appkey 你的appkey -bundleid 你应用的bundleid -version 应用版本号 -platform IOS -inputSymbol 你的dSYM文件(类似:**.app.dSYM)
- 跑完你会看到如下就是成功了。如果不放心,也可以去Bugly里的异常配置-符号表管理,看看有没有
##[info]retCode: 200 response message: {"statusCode":0,"msg":"success","uploadReqID":"xxxxxxxxxxxxxx"}