【iOS】Crash Log 文件分析

很多时候模拟器debug无法复现真机上的crash

因此需要打包安装到真机后,读取本地crash log文件分析

1、获取crash文件

<1>这里只介绍苹果官方同步软件iTunes的路径,将打包后的ipa文件通过iTunes安装到手机,进行crash复现操作,就会在以下路径生成crash log文件(其它同步软件也会有提供崩溃日志)

Mac OS X:~/Library/Logs/CrashReporter/MobileDevice

Windows XP:C:\Documents and Settings\Application Data\Apple computer\Logs\CrashReporter

Windows 7/Vista: C:\Users\计算机登录名\AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice

<2>选择你测试的手机文件夹,找到测试日期对应crash文件


【iOS】Crash Log 文件分析_第1张图片


2、读取文件,打开文件后会看到如下内容


【iOS】Crash Log 文件分析_第2张图片

其实也是比较重要的内容,这里只做一个简述,让我们对怎样看crash log有个思路,因为crash有各种各样的原因,例子里并不能涵盖所有

<1>Exception Type:  EXC_CRASH (SIGABRT)

SIGABRT一般为无法找到对象

<2>Triggered by Thread:  21

也就是在第21个线程出现了crash,接着就将线程定位到第21个

<3>

【iOS】Crash Log 文件分析_第3张图片

一般来说app name后面会对应一些方法提示,也就是expect point,就可以按照方法名结合Exception Type去查一下该方法内的问题

但是我这个没有,于是定位到Thread 21 name:  Dispatch queue: com.tune.concurrentQueue这一行,说明是我在开启tune相关线程时出现了cash,因此需要在crash发生页面查找tune相关操作,然后进行排查。

这样就有了切入点,而不是无头苍蝇一般到处找问题

基本的思路就是这样了,希望能帮助到你,不对的地方还请指出

你可能感兴趣的:(【iOS】Crash Log 文件分析)