# - 什么是dSYM文件?
iOS中,dSYM文件是指具有调试信息的目标文件,文件名通常为: xxx.app.dSYM
一般情况下,项目编译完dSYM文件跟app文件在同一个目录下 XCode -> 项目工程 -> Products -> XXX.app -> 右键"显示文件夹" -> XXX.app.dSYM
为了保证能够还原堆栈信息, 建议每次构建或者发布版本时候,备份好dSYM文件 。
# - 符号文件工具上传报错 dump_syms command is exception,怎么解决?
dump_syms没有访问权限,要执行以下chmod a+x dump_syms
的这个可执行文件。
# - 接入Crasheye后app启动崩溃,Log里有输出 <Error>: +[NSString ksgIsNilOrEmpty:]: unrecognized selector?
Linker Flags中没有添加_ObjC选项;(详情参考:iOS SDK接入指南)
# - 生成的crash 文件存储在什么位置?
保存在Library/Caches/Crasheye下
# - 产生崩溃后,为什么没有生成对应的crash文件?
- 检查log,查看Crasheye是否有正常初始;
- 检查是否连接debugger,连接debugger时,不生成crash文件;
# - 产生崩溃后,网站上为什么没有对应记录?
重新启动App才会上传上一次崩溃的crash文件。
# - iOS 触发dump 后,为什么收不到崩溃?
按照下述步骤进行排查
- 查看日志,确认Crasheye init 成功
- Crasheye不收集杀端 sigkill 、内存宕机、无限递归宕机,如果宕机类型为这几种,将不会上报
- 触发崩溃后,是否重启游戏,dump 将在重新启动游戏后上报,通常10min内就会上报
- 确认是否在调试状态下,调试状态下不捕捉dump, 测试的时候不要接调试器(xcode