开发过程中,难免会遇到Bug。
遇到Bug,怎么办?如果在测试阶段,我们还可以直接Debug;如果APP已经上架呢?还好,苹果有日志,而且真机的 日志文件能够上传的App Store,供开发者下载。但是呢,从App Store下载下来的crash文件都是二进制内存地址,这个很不方便阅读。
下面我们就来说说怎么讲crash文件符合化。
1、在桌面建立一个文件夹,比如report吧。
2、在终端中输入 find /Applications/Xcode.app -name symbolicatecrash -type f,找到"symbolicatecrash" 文件,复制、粘贴到第一步中的report文件夹下。
3、从Xcode Archive的二进制文件中找到dSYM文件夹和Products文件夹,复制、粘贴到第一步中的report文件夹下。Archive后的文件,右击、Show In Finder,就可以找到这两个文件夹。
4、把从App Store下载的crash文件(或者真机Device导出的),复制、粘贴到第一步中的report文件夹下。
上面四步就已经把我们所有要准备的东西准备好,下面开始生成符号化后的crash文件:
1、终端输入 cd /Users/username/Desktop/report,转换到我们刚创建的report目录下。
2、终端输入export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer。
3、终端输入./symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash。
经过上面三步,不出意外,就会在report文件夹下生成了一个新的symbol.crash文件,打开看看是不是已经符号化了。
补充介绍一下crash类型,一般有两种,一种是EXC_BAD_ACCESS(SIGBUS或者SIGSEGV),另一种是EXC_CRASH(SIGABRT)。
第一种,一般是变量内存地址不存在(被释放了)。
第二种,一般是调用数据格式不正确或者调用的方法不存在。
我知道的就这些,欢迎大家指出更多的异常类型。










网友评论