若一个App没有加入Crashlytics或者Buggly这些崩溃日志监控,那么我们在App崩溃的时候如何获取崩溃信息呢?

此时我们可以通过symbolicatecrash工具对手机日志来进行分析定位,需要以下一些步骤:

一、获取crash日志文件

  1.手机直接获取日志  

    在手机 设置->隐私->分析->数据分析 中找到对应App(文件名为App设置的product name),打开文件,右上角可以分享导出文件,分享出来的文件改一下后缀为.crash

  2.使用iTools导出日志

    使用iTools的工具箱里面的崩溃日志导出对应的.ips文件,改后缀为.crash

  3.使用Xcode导出

    设备连接Xcode,选择“Window->Devices and Simulators”,选择左侧设备,点击中间的“View Device Logs”,同理,选择对应App(文件名为App设置的product name),右键“Export Log”即可,此处导出的文件为.crash文件。

二、获取dSYM文件

  1.Xcode获取

    Xcode在archives时候,都会生成一个对应的dSYM文件,我们直接去获取app对应的dSYM文件就好;打开App工程,点击“Window->Organizer”,里面有你此工程archives过的记录,找到对应的,右键“show in finder”,对应文件右键"显示包内容",在dSYM文件夹下的.app.dSYM就是我们要获取的dSYM文件了。

  2.App Store Connect获取

    如果App已经上架,并在上架的时候选择提交过dSYM,那么还可以从App Store Connect获取,登录选择App,进入“活动”页签,“所有构建版本”,选择对应版本,点击app版本号,会出现包的详细信息,右下角有“包含符号”,若有提交的话,此处可以下载dSYM文件

三、symbolicatecrash工具

  symbolicatecrash工具是Xcode自带的工具,我们在中断输入: find /Applications/Xcode.app -name symbolicatecrash即可找到工具

四、crash日志分析

  将crash文件、dSYM文件以及symbolicatecrash工具拷贝到同一个目录,cd进入此目录,然后输入命令:

  ./symbolicatecrash (你导出的崩溃日志).crash (导出的dSYM文件).app.dSYM > (解析后的crash文件).crash

  ps:运行上面的命令后可能会报错:“Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 53.”,如果出现错误,再输入:export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"

  接着再输入一次 ./symbolicatecrash (你导出的崩溃日志).crash (导出的dSYM文件).app.dSYM > (解析后的crash文件).crash 这个命令就可以了。

最新文章

  1. NOIP2012同余方程
  2. 最短路径——Floyd算法
  3. canvas事件
  4. asp.net 163邮件发送
  5. CentOS 6.5 IP 设置
  6. Volley 设置 RetryPolicy 不起作用, 重复提交
  7. C++对C语言的非面向对象特性扩充(2)
  8. Android Application plugin
  9. linux下一个Oracle11g RAC建立(四)
  10. 简述java中equals()方法和==的区别
  11. Mybatis中 collection 和 association 的区别
  12. leaflet计算多边形面积
  13. jenkins运行脚本生成HTML报告时遇到的问题
  14. JavaScript Dom0 Dom1
  15. 如何快速实现 markdown 转 HTML 文档?
  16. 获取cxgrid footer内容
  17. laravel中artisan的用法
  18. Dubbo -- 系统学习 笔记 -- 示例 -- 服务分组
  19. 用java创建UDF,并用于Hive
  20. POJ 2316

热门文章

  1. ACM学习历程—HDU5666 Segment(数论)
  2. 微信小程序编写物流信息进度样式
  3. BZOJ4154:[IPSC2015]Generating Synergy
  4. 我的ubuntu新系统自动装软件脚本
  5. JAVA中数值的表示
  6. java代码随机数100个,10个一输出显示======
  7. AngularJS中的http服务的简单用法
  8. vue开发后台管理系统小结
  9. windows 10微软账户不能访问局域网共享,但是本地账户可以访问
  10. 运行shell脚本报/bin/bash^M: bad interpreter错误排查方法