1、导出Log文件

将手机连接到mac上,打开Xcode,window-Devices-This Device,就能刷新出所有本机crash时留下的日志文件,选择你的crash文件,右键-Export Log到User/crash目录下

在Xcode6下IOS Crash Log分析文一_ ios crash log


2、获取app和dsYM文件

Xcode-window-organizer-Archives就能看到我们曾经archive过的所有文件,找到crash对应的archive文件,右键-show in finder-右键-显示包内容,将dSYMs/xxxx.dSYM和Products/Applications/xxxx.app拷贝到User/crash目录下

在Xcode6下IOS Crash Log分析文一_ios crash_02


3、获取symbolicatecrash文件

symbolicatecrashXcode自带的一个分析工具,可以通过机器上的崩溃日志和应用的.dSYM文件定位发生崩溃的位置,把crash日志中的一堆地址替换成代码相应位置。symbolicate位于

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

如果找不到就执行

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

将symbolicatecrash文件拷贝到/User/crash目录下


4、分析崩溃日志

打开终端依次输入以下命令

~$ cd ~/crash
~$ export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
~$ ./symbolicatecrash xxxx.crash xxxx.app.dSYM > report.crash

打开report.crash,应该有如下的显示效果

在Xcode6下IOS Crash Log分析文一_ios crash_03


我们就能轻松知道倒是哪一行代码出错导致的崩溃了


EOF