美文网首页
iOS闪退日志收集与解析

iOS闪退日志收集与解析

作者: 三少爷_贱 | 来源:发表于2021-03-16 15:59 被阅读0次

    1、收集闪退日志

    • 和用户确认iPhone是否打开了设置。
    • 没有打开设置的用户 在设置->隐私-分析-共享iPhone分析与应用开发者共享 打开开关。
    • 然后进入设置->隐私->分析->分析数据,找到以自己项目开头拼接出现闪退大致时间点文件名的ips文件

    2、解析闪退日志

    a、如果还能找到用户反馈有问题的app 当时打包时相对应的项目源码,那么就很简单了;

    获取到的.ips文件双击打开是没有解析的日志,现在需要修改后缀名为.crash,然后双击打开,在弹框中可以选中当时打包的项目,预览并且打开,这时候你会发现打开后的项目会显示闪退的地方。

    b、不能找到打包时的项目源码,但是可以找到当时打包的dSYM文件

    在桌面新建crashFile文件夹,该文件夹需要导入四样东西;

    • 1.找到前面获取到的.ips文件,拷贝.ips文件放到crashFile中,并修改后缀名为.crash

    • 2.找到路径

    /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash 
    

    下的把symbolicatecrash放到crashFile

    • 3.打开Xcode->window->Organizer,找到对应版本的archives,右键Show in Finder,选中xcarchive文件右键显示包内容,拷贝出dSYMs文件夹下的dSYM文件到crashFile

    • 4.打开Xcode->window->Organizer,找到对应版本的archives,右键Show in Finder,选中xcarchive文件右键显示包内容,拷贝出Products->Applications文件夹下的.ipa文件

      1. 打开终端,cdcrashFile文件夹中
      1. 输入命令
    ./symbolicatecrash  xxx.carsh  xxx.dSYM  > log.carsh
    

    执行之后,终端可能报错Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.

    继续执行以下命令:

    export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"
    

    然后,再继续执行声场log的命令,此时crashFile文件夹内应该就能看到一个log.crash文件,打开此文件,就能更好的定位问题所在了。

    因为解析前的.ips文件是十六进制的堆栈信息,所以我们需要对这些数据进行符号化转换,将堆栈地址转化为我们可识别的一些类名、方法名等符号信息。

    相关文章

      网友评论

          本文标题:iOS闪退日志收集与解析

          本文链接:https://www.haomeiwen.com/subject/dpsdcltx.html