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类型不对或者内存地址不对

上一篇:java spring 等启动项目时的异常 或 程序异常的解决思路


下一篇:创建JDBCUtils工具类