iOS崩溃日志分析

今天的程序直接运行在手机上不会有问题,但是打包安装就会有问题,直接崩溃了,然后发现自己竟然不会查看崩溃日志,

因为手机就在手边,所以直接在xcode中 window-devices找到连接的手机,view device logs即可查看设备的日志,选择相关的app 导出就可以,

然后系统的类可能直接显示方法名和行了,但是自己的类却不显示,这时需要用到符号化表 .dSYM

首先需要使用到 symbolicatecrash 在不同的xcode版本中位置好像是不一样的,最靠谱的方法是 

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

看别人家文章基本都是在DTDevice下,但是xcode7.3中已经放到了

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

可以把这个文件直接拷贝放到一个文件夹,

然后还有一开始导出的那个.crash 文件,还有打包时获取的.dSYM文件一并放入这个文件夹

然后执行

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

这样会生成一个新的.crash文件.

有可能会报错误,需要运行

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

就可以了,再次执行,然后所创建的文件夹下就会有一个有内容的新的.crash文件

然后就能具体定位问题了

发一个前后对比图

好吧 图发不出来

------------------------------前------------------------------

Last Exception Backtrace:
0   CoreFoundation                 0x25bf22e6 __exceptionPreprocess + 122
1   libobjc.A.dylib               0x253bedfa objc_exception_throw + 34
2   CoreFoundation                 0x25bf222c +[NSException raise:format:] + 108
3   QuartzCore                     0x27e58e36 CA::Layer::set_position(CA::Vec2<double> const&, bool) + 238
4   QuartzCore                     0x27e58d3e -[CALayer setPosition:] + 50
5   QuartzCore                     0x27e58cdc -[CALayer setFrame:] + 484
6   UIKit                         0x29d82480 -[UIView(Geometry) setFrame:] + 252
7   UIKit                         0x29d97ad8 -[UIImageView _setViewGeometry:forMetric:] + 176
8   UIKit                         0x29d97a1e -[UIImageView setFrame:] + 34
9   CoreFoundation                 0x25bf6cc0 __invoking___ + 64
10  CoreFoundation                 0x25b212a8 -[NSInvocation invoke] + 288
11  app                           0x000fed34 0x18000 + 945460
12  Foundation                     0x2636c2dc NSKVONotify + 48
13  Foundation                     0x2636c210 -[NSKeyValueObservance observeValueForKeyPath:ofObject:change:context:] + 408
14  Foundation                     0x2636c2dc NSKVONotify + 48
15  Foundation                     0x2634b526 NSKeyValueNotifyObserver + 282
16  Foundation                     0x2634b17e NSKeyValueDidChange + 342
17  Foundation                     0x2634a64c -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 432
18  Foundation                     0x2636b28c _NSSetObjectValueAndNotify + 220
19  app                           0x000fcdfc 0x18000 + 937468
20  app                           0x00100864 0x18000 + 952420
21  Foundation                     0x2640f4d8 __NSFireTimer + 60
22  CoreFoundation                 0x25bb59e2 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 10
23  CoreFoundation                 0x25bb5614 __CFRunLoopDoTimer + 932
24  CoreFoundation                 0x25bb3460 __CFRunLoopRun + 1496
25  CoreFoundation                 0x25b05bb4 CFRunLoopRunSpecific + 512
26  CoreFoundation                 0x25b059a8 CFRunLoopRunInMode + 104
27  GraphicsServices               0x26d7faf4 GSEventRunModal + 156
28  UIKit                         0x29df1fb0 UIApplicationMain + 140
29  app                           0x0017eb02 0x18000 + 1469186
30  libdyld.dylib                 0x257b886e tlv_get_addr + 42


------------------------------后------------------------------

Last Exception Backtrace:
0   CoreFoundation                 0x25bf22e6 __exceptionPreprocess + 122
1   libobjc.A.dylib               0x253bedfa objc_exception_throw + 34
2   CoreFoundation                 0x25bf222c +[NSException raise:format:] + 108
3   QuartzCore                     0x27e58e36 CA::Layer::set_position(CA::Vec2<double> const&, bool) + 238
4   QuartzCore                     0x27e58d3e -[CALayer setPosition:] + 50
5   QuartzCore                     0x27e58cdc -[CALayer setFrame:] + 484
6   UIKit                         0x29d82480 -[UIView(Geometry) setFrame:] + 252
7   UIKit                         0x29d97ad8 -[UIImageView _setViewGeometry:forMetric:] + 176
8   UIKit                         0x29d97a1e -[UIImageView setFrame:] + 34
9   CoreFoundation                 0x25bf6cc0 __invoking___ + 64
10  CoreFoundation                 0x25b212a8 -[NSInvocation invoke] + 288
11  app                           0x000fed34 -[PRTween observeValueForKeyPath:ofObject:change:context:] (PRTween.m:400)
12  Foundation                     0x2636c2dc NSKVONotify + 48
13  Foundation                     0x2636c210 -[NSKeyValueObservance observeValueForKeyPath:ofObject:change:context:] + 408
14  Foundation                     0x2636c2dc NSKVONotify + 48
15  Foundation                     0x2634b526 NSKeyValueNotifyObserver + 282
16  Foundation                     0x2634b17e NSKeyValueDidChange + 342
17  Foundation                     0x2634a64c -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 432
18  Foundation                     0x2636b28c _NSSetObjectValueAndNotify + 220
19  app                           0x000fcdfc -[PRTweenCGRectLerpPeriod setProgress:] (PRTween.m:96)
2
0  app                           0x00100864 -[PRTween update] (PRTween.m:657)
21  Foundation                     0x2640f4d8 __NSFireTimer + 60
22  CoreFoundation                 0x25bb59e2 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 10
23  CoreFoundation                 0x25bb5614 __CFRunLoopDoTimer + 932
24  CoreFoundation                 0x25bb3460 __CFRunLoopRun + 1496
25  CoreFoundation                 0x25b05bb4 CFRunLoopRunSpecific + 512
26  CoreFoundation                 0x25b059a8 CFRunLoopRunInMode + 104
27  GraphicsServices               0x26d7faf4 GSEventRunModal + 156
28  UIKit                         0x29df1fb0 UIApplicationMain + 140
29  app                           0x0017eb02 main (main.m:14)
30  libdyld.dylib                 0x257b886e tlv_get_addr + 42

第一次都没看出差别,红字标出了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值