Application received signal SIGABRT

Application received signal SIGABRT
(null)
((
	0   CoreFoundation                      0x0000000182bbadc8 <redacted> + 148
	1   libobjc.A.dylib                     0x000000018221ff80 objc_exception_throw + 56
	2   CoreFoundation                      0x0000000182bbacf8 <redacted> + 0
	3   Lazy                                0x10034060c Lazy + 3409420
	4   libsystem_platform.dylib            0x000000018281993c _sigtramp + 52
	5   libsystem_pthread.dylib             0x0000000182820ef8 pthread_kill + 112
	6   libsystem_c.dylib                   0x00000001826c5dc8 abort + 140
	7   libsystem_c.dylib                   0x000000018269ae7c basename + 0
	8   CoreGraphics                        0x000000018411b0c8 <redacted> + 3444
	9   CoreGraphics                        0x00000001840283c4 <redacted> + 152
	10  CoreGraphics                        0x000000018402a470 <redacted> + 332
	11  CoreGraphics                        0x00000001840328e4 CGContextFillRects + 104
	12  CoreGraphics                        0x0000000184032974 CGContextFillRect + 52
	13  Lazy                                0x10014f98c Lazy + 1374604
	14  Lazy                                0x10014f058 Lazy + 1372248
	15  Lazy                                0x100257eb0 Lazy + 2457264
	16  Lazy                                0x100254f28 Lazy + 2445096
	17  UIKit                               0x0000000188045568 <redacted> + 76
	18  UIKit                               0x0000000187d3b0b4 <redacted> + 460
	19  UIKit                               0x0000000187df9a00 <redacted> + 300
	20  UIKit                               0x0000000187ed5d30 <redacted> + 1844
	21  UIKit                               0x00000001882adf30 <redacted> + 164
	22  UIKit                               0x0000000187ec2728 <redacted> + 172
	23  UIKit                               0x0000000187d4f7a0 <redacted> + 784
	24  UIKit                               0x00000001882af530 <redacted> + 72
	25  UIKit                               0x0000000187d0e4d8 <redacted> + 372
	26  UIKit                               0x0000000187d0b254 <redacted> + 2404
	27  UIKit                               0x0000000187d4d610 <redacted> + 1132
	28  UIKit                               0x0000000187d4cc0c <redacted> + 764
	29  UIKit                               0x0000000187d1d04c <redacted> + 248
	30  UIKit                               0x0000000187d1b628 <redacted> + 6568
	31  CoreFoundation                      0x0000000182b7109c <redacted> + 24
	32  CoreFoundation                      0x0000000182b70b30 <redacted> + 540
	33  CoreFoundation                      0x0000000182b6e830 <redacted> + 724
	34  CoreFoundation                      0x0000000182a98c50 CFRunLoopRunSpecific + 384
	35  GraphicsServices                    0x0000000184380088 GSEventRunModal + 180
	36  UIKit                               0x0000000187d86088 UIApplicationMain + 204
	37  Lazy                                0x10021cd9c Lazy + 2215324
	38  libdyld.dylib                       0x00000001826368b8 <redacted> + 4
)

dSYM UUID: 8822064E-9CEB-3B52-A2A3-9A35CAE53E06
CPU Type: arm64
Slide Address: 0x0000000100000000
Binary Image: Lazy
Base Address: 0x00000001000c0000

这个问题一般是由于程序访问了不存在内存地址造成的崩溃

解决步骤:

1、找到当时上传代码时使用的DYSM文件,这文件通常在.xcarchive文件中。 右键该文件, 然后通过终端工具跳转到下面的DWARF文件夹中:

2、找到左边列是你的app名字的几列 看对应的右面内存地址并依次执行 。我的是arm64的cpu报错,所以下面用arm64,如果其他的是armv7或armv7s 相应的更改就可以
$ atos -arch arm64 -o Lazy 0x10014f98c

$ atos -arch arm64 -o Lazy 0x10014f058

$ atos -arch arm64 -o Lazy 0x100257eb0

......

有几个执行几个,并依次记录打印结果

就可以看到这处内存地址反编译回来的源码行,可以有效地帮助分析原因。 
注意,如果定位到的地址是UmengSignalHandler,要知道这个不是错误,是捕捉crash的方法,本身不引起crash, 当crash发生时由它来捕捉,直接忽略crash log中的 UmengSignalHandler 部分即可。

 

注:

如果没有打印出源码行日志,出现类似

atos cannot load symbols for the file Lazy for architecture armv7.
这样的打印说明你的$ atos -arch arm64 -o Lazy 0x100257eb0  这个命令可能cpu类型不对或者内存地址不对

posted @ 2017-11-15 15:30  Hakim_Fan  阅读(4237)  评论(0编辑  收藏  举报