iOS 使用symbolicatecrash分析crash文件

iOS 使用symbolicatecrash分析crash文件

首先,在桌面建一个文件夹crash,接着需要准备4个文件:

其实只要三个就可以了(xx.crashxxx.app.dSYMsymbolicatecrash文件
然后用symbolicatecrash命令合成xx.crashxxx.app.dSYM即可。

  • 1、崩溃日志.crash:Xcode->Window->Devices,选中设备,点击View Device Logs,然后可以看到好多日志,你可以根据时间来判断需要导出哪个日志,选中一个crash日志,右击选择Export log,然后就可以导出日志为aaa.crash,复制到crash文件。(如果有其他xx.log文件,直接将后缀改成xx.crash即可)

  • 2、xxx.app.dSYM文件:Xcode->Window->Organizer,打到之前的ipa文件,右击Show in Finder,可以看到XXX.xcarchive文件,右击显示包内容可以看到一个名字dSYMs的文件里面会有一个xxx.app.dSYM文件,复制到crash文件。

  • 3、.app文件:找到导出的xxx.ipa文件,右击->打开方式->归档实用工具,然后看到一个名为Payload的文件,把里面的app文件复制到crash文件。

  • 4、symbolicatecrash路径:
    Xcode7.3 以前 symbolicatecrash路径
    /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash
    或者 在应用程序里找到Xcode->显示包内容可以找到Contents文件,把symbolicatecrash复制到crash文件。
    Xcode7.3 symbolicatecrash路径
    /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

更新Xcode版本可能会出错:
can't find tool named 'otool' in the macosx SDK or any fallback SDKs at /Users/xxx/Desktop/crash/symbolicatecrash line 121.
解决方法是:在终端运行如下命令,找到symbolicatecrash这个的新路径

find /Applications/Xcode.app -name symbolicatecrash -type f

然后,打开终端,到crash文件目录下cd crash文件路径(可以直接把文件拖到终端,就可以看到crash的路径)

接着输入./symbolicatecrash /Users/本机用户名/Desktop/crash/aaa.crash / Users/本机用户名/Desktop/crash/xxx.app.dSYM > new_symbol.cash,其中本机用户名和文件名称自己替换*

  • 1 ./symbolicatecrash 这个也可以直接把symbolicatecrash这个工具直接拖到终端来查看路径

  • 2 /Users/haoshiqi/Desktop/crash/haoshiqi.crash这个是aaa.crash(以本例为例) 的文件路径,直接拖到终端就可能看到文件路径

  • 3 / Users/haoshiqi/Desktop/crash/Haoshiqi.app.dSYM这个是xxx.app.dSYM(以本例为例),同样拖到终端就可以看到文件路径

  • [x] 运行完上面这句可能会出现以下问题:Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 60.

  • [x] 解决方法是输入以下命令:(xcode-select --print-path 可以找到DEVELOPER_DIR)

export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"
  • [x] 再接着输入./symbolicatecrash /Users/本机用户名/Desktop/crash/aaa.crash / Users/本机用户名/Desktop/crash/xxx.app.dSYM > new_symbol.cash

  • [x] 最后在aaa.crash文件中就多了个new_symbol.cash文件,这个就是解析后的crash文件

链接

你可能感兴趣的:(iOS 使用symbolicatecrash分析crash文件)