iOS符号化二进制崩溃问题

符号化二进制崩溃问题

1、首先拿到项目中的dSYM符号化文件,新建一个文件夹吧dSYM放里面,并且双击打开这个文件,然后执行下面命令:

dwarfdump --uuid dSYM文件查看uuid

例子如下:

Pasted Graphic.tiff

2、然后和crash文件中的UUID对比是相同,不一样的话说明不是一个包里面的。

3、拿到包的UUID如下命令,注意如果你拿到的是ipa的话先直接用直接使用归档工具归档,当然也可以使用先压缩后解压查看包的形式:

dwarfdump --uuid YourApp.app/YourApp

例子:

Pasted Graphic 1.tiff

4、如果四个的UUID一样说明没问题,这个项目包的crash,UUID是软件的一个唯一标识,不一样说明不是一个包,不要在解析了。当然你也要看仔细是64的还是arm7上的标识。

5、关于Jenkins打包,它会把以前的build文件覆盖掉,结果以前的dSYM文件和ipa包没法获取(亲自测试)。

6、如果是自己手动打包archive后,xcode自己会保存一个当前打包完的记录,这样每次可以拿到dYSM文件和ipa文件。

7、Xcode工具symbolicatecrash解析iOS Crash文件,在找symbolicatecrash的时候需要注意,先执行下面命令在所有的安装包里面找到这个文件,命令如下:

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

找到之后cd到这个文件夹下,copy出来就可以。

 8、在桌面新建一个文件夹crash(自己随意就可以),然后把dSYM文件,symbolicatecrash工具,crash文件文件拷贝到这个文件夹下面,执行下面命令:

./symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash

其中symbol.crash文件就是解析后的crash文件,在这行这个命令的时候可能会出现下面错误:

Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.

解决办法:一定在上面一个命令之前执行就可以了

export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer

9、经验:在符号化之前先把dYSM中间中的UUIDcrash文件的UUID进行对比,如果不一样的话,说明不是这个版本造成的crash直接继续再找吧。

猜你喜欢

转载自www.cnblogs.com/whey/p/11209058.html