如何查看崩溃日志

好了,获得是人类可读语言的崩溃日志后,或者是从别人手机到处崩溃日志后,下一步就是查看了。下面就正对一个程序猿该如何看稍微说说。

崩溃日志头

 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Incident Identifier: 635A20F0-BC79-4724-AE45-D49097085250  
CrashReporter Key:   21a348fcc69b56e9f74e9b0078c8d7bbc0ace04a  
Hardware Model:      xxx  
Process:             crashDemo [3131]  
Path:                /private/var/mobile/Containers/Bundle/Application/B2B0DDAE-2E1B-422E-AA4D-99C2578C99E6/crashDemo.app/crashDemo  
Identifier:          com.demo.crashDemo  
Version:             2443 (1.4.2)  
Code Type:           ARM-64 (Native)  
Parent Process:      launchd [1]  
Date/Time:           2015-11-24 17:57:00.00 -0800  
Launch Time:         2015-11-24 17:56:44.44 -0800  
OS Version:          iOS 9.1 (13B143)  
Report Version:      105  
Exception Type:  EXC_CRASH (SIGABRT)  
Exception Codes: 0x0000000000000000, 0x0000000000000000  
Exception Note:  EXC_CORPSE_NOTIFY  
Triggered by Thread:  0  
 

首先正对这个崩溃日志头,程序猿级别的童鞋只要关注几点就好了。 Process:是在Info.plist文件中key为CFBundleExecutable所填写的名字,首先先确认这个,别到时候发现尼玛这不是自己的崩溃日志 Version:这个则是要关注的第二个点,就是这个崩溃日志产生的版本,因为对于中大型公司来说的话,一般有可能多个版本并行的情况,针对崩溃日志一定要看清楚是哪个版本,这个是由Info.plist文件中的CFBundleVersionCFBundleVersionString组成 OS Version:这个字段则是说我这个崩溃日志是在什么系统上面产生的,iOS 8还是iOS 9?这个总得知道吧,因为有可能你用到了被停用的接口啊,或者是太新的接口在老版本上不兼容啊等问题 ‘Exception Type’:说明崩溃产生的原因,具体的详情可以查看苹果官网
‘Triggered by Thread’:这个说明在哪个线程上崩溃的,这个一定得看要不然下面一堆堆栈信息完全就不知道看哪个了

崩溃日志的堆栈信息

然后就是找到对应的崩溃堆栈信息来说的话,去找对应的崩溃函数,还是用上方的第一张图来举例:

其实如果是自己写的代码一眼就能看出来问题所在了,因为能从这个堆栈中找到问题所在。一般这个调用都是从上往下看,最上面的出现你熟悉的代码一般就是问题所在了,如果上图中[JsonUtil dataRequest:Key:Delegate:Info:] (JsonUtil.m:166)一眼就能看出来这个是我的代码,然后我去分析这行代码周围的代码很快就能找到问题所在了。至于其他的就没什么好看了。

结束语

其实除了从苹果审核人员那里获得崩溃日志外,我们还可能通过从测试人员的手机里拷贝出来。一般通过iTunes的同步功能就能讲手机中的崩溃日志拷贝到电脑里面来查看(如下图)。如果是Mac的话目录应该是在/Users/chipsea/Library/Logs/CrashReporter/MobileDevice目录下能看到同步的到的崩溃日志,然后根据日志进行修改Bug吧。最后去屎吧八阿哥!

如何看Crash 文件的更多相关文章

  1. (转载)iOS系统Crash文件分析方法

    转自: http://ios-iphone.diandian.com/post/2012-05-18/19440182 Xcode 4.3的symbolicatecrash的位置和老版本的不一致了. ...

  2. 命令行解析Crash文件

    做了快两年的开发了,没有写过博客,最近公司app上架,程序崩溃被拒绝了,可是给的crash文件,又看不出哪里的问题,网上各种搜,终于找到了解决的办法,想想还是写个博客吧,希望给哪些也遇到这类问题的朋友 ...

  3. iOS: Crash文件解析(一)

    iOS Crash文件的解析(一) 开发程序的过程中不管我们已经如何小心,总是会在不经意间遇到程序闪退.脑补一下当你在一群人面前自信的拿着你的App做功能预演的时候,流畅的操作被无情地Crash打断. ...

  4. iOS Crash文件的解析

    iOS Crash文件的解析 开发程序的过程中不管我们已经如何小心,总是会在不经意间遇到程序闪退.脑补一下当你在一群人面前自信的拿着你的App做功能预演的时候,流畅的操作被无情地Crash打断.联想起 ...

  5. 使用symbolicatecrash分析crash文件

    对于我们iOS开发者来说,最心碎的事莫过于苹果审核一个星期后上架app store,而第二天就报出闪退bug.一周前我刚经历过,而且最坑的是由于第一次做个人开发,经验不足,没有集成友盟的分析SDK,还 ...

  6. [iOS]使用symbolicatecrash分析crash文件

    对于我们iOS开发者来说,最心碎的事莫过于苹果审核一个星期后上架app store,而第二天就报出闪退bug.一周前我刚经历过,而且最坑的是由于第一次做个人开发,经验不足,没有集成友盟的分析SDK,还 ...

  7. iOS- 全方位解析.crash文件崩溃报告

    1.前言 想来每个iOS攻城狮,都免不了要接触.crash文件 那么什么是.crash文件? iOS app的所有崩溃记录都会记录在设备上,所以对于和我一样没有集成让用户发送崩溃报告功能的iOS开发者 ...

  8. Xcode自带工具symbolicatecrash解析Crash文件

    项目中遇到一台手机运行测试包闪退的现象,而且是一个设备闪退其他设备没有再现的情况 可以看到Crash信息,但是指定的问题给出的是16进制内存地址,根本无法定位问题发生在哪个类的哪个函数中 所以需要解析 ...

  9. ios系统crash文件分析

    分析crash文件必备条件:crash文件的uuid,app的uuid,dsym文件的uuid必须一致 1> crash文件的uuid为Binary Images:0x4000 - 0x1173 ...

随机推荐

  1. ta-lib 里的蜡烛图形态函数源码

    ta-lib 里的蜡烛图形态函数源码 以CDL2CROWS为例, 看一看c语言的源码: 有关的源码文件包括 d:\Documents\Pictures\ta-lib\c\src\ta_func\ta_ ...

  2. 是时候了解React Native了

    文章首发于简书,欢迎关注 随着科技的发展,手机开发也在向好的方向不停的转变.IOS和Android两大手机操作横空出世,称霸江湖.我们每开发一个手机软件最少都需要开发这两个终端. 两大操作系统都在不断 ...

  3. Oracle中的Union、Union All、Intersect、Minus[转]

    众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考. 假设我们有一个表Student,包括以下字段与数据: drop table student; create table ...

  4. python 处理图像出现The lower bounary is neither an array of the same size and same type as src, nor a scalar in function inRange

    在用python处理图像过程中出现如下错误 导致这个错误的原因是im是二维,而lower_green和upper_green是三维,所以无法用inRange处理. 由上图可以看出image本来是具有高 ...

  5. pytorch学习笔记(九):PyTorch结构介绍

    PyTorch结构介绍对PyTorch架构的粗浅理解,不能保证完全正确,但是希望可以从更高层次上对PyTorch上有个整体把握.水平有限,如有错误,欢迎指错,谢谢! 几个重要的类型和数值相关的Tens ...

  6. Springboot应用中@EntityScan和@EnableJpaRepositories的用法

    在Springboot应用开发中使用JPA时,通常在主应用程序所在包或者其子包的某个位置定义我们的Entity和Repository,这样基于Springboot的自动配置,无需额外配置,我们定义的E ...

  7. Pointers and Arrays_4

    1.编写程序expr,以计算从命令行输入的逆波兰表达式的值,其中每个运算符或操作数用一个单独的参数表示.例如,命令expr 2 3 4 + * 将计算表达式2×(3+4) 的值. #include & ...

  8. 神经网络入门——8XOR感知器

    XOR 感知器     XOR 感知器就是一个这样的逻辑门:输入相同返回 0 ,输入不同返回 1.与之前的感知器不同,这里并不是线性可分的.要处理这类较为复杂的问题,我们需要把感知器连接起来. 我们用 ...

  9. 【CSS3】纯CSS3制作页面切换效果

    此前写的那个太复杂了,来点简单的核心 <html> <head> <title></title> <style type="text/c ...

  10. uva 100 The 3n + 1 problem (RMQ)

    uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem= ...