UMeng"Application received signal SIGSEGV"错误分析

来源:互联网 发布:linux search file 编辑:程序博客网 时间:2024/05/20 14:44

从友盟中, 我们可能会得到如下信息:

Application received signal SIGSEGV(null)(    0   CoreFoundation                      0x00000001866fde64 <redacted> + 160    1   libobjc.A.dylib                     0x0000000196df80e4 objc_exception_throw + 60    2   CoreFoundation                      0x00000001866fdd88 <redacted> + 0    3   xxxDance                            0x1005b9d94 _ZN15CTXAppidConvert17IsConnectionAppIdEPKc + 587496    4   libsystem_platform.dylib            0x000000019761494c _sigtramp + 52    5   ???                                 0x0000000000000014 0x0 + 20    6   GLEngine                            0x000000018a1e12c4 <redacted> + 144    7   GLEngine                            0x000000018a187f54 <redacted> + 988    8   xxxDance                            0x1003f5120 _ZN9_baidu_vi7CVArrayIjjE6AppendERKS1_ + 7920    9   xxxDance                            0x1003f39a4 _ZN9_baidu_vi7CVArrayIjjE6AppendERKS1_ + 1908    10  xxxDance                            0x10045c564 _ZN9_baidu_vi7CVArrayINS_12CVHttpClient16tag_PostDataInfoERS2_ED2Ev + 30940    11  xxxDance                            0x100406ebc _ZN9_baidu_vi7CVArrayIN16_baidu_framework17tagHttpClientItemERS2_ED2Ev + 44932    12  xxxDance                            0x100409278 _ZN9_baidu_vi7CVArrayI19tag_PaoPaoAttributeRS1_ED2Ev + 3260    13  libdispatch.dylib                   0x000000019743d3ac <redacted> + 24    14  libdispatch.dylib                   0x000000019743d36c <redacted> + 16    15  libdispatch.dylib                   0x0000000197441980 _dispatch_main_queue_callback_4CF + 932    16  CoreFoundation                      0x00000001866b56a0 <redacted> + 12    17  CoreFoundation                      0x00000001866b3748 <redacted> + 1492    18  CoreFoundation                      0x00000001865e11f4 CFRunLoopRunSpecific + 396    19  GraphicsServices                    0x000000018f7775a4 GSEventRunModal + 168    20  UIKit                               0x000000018af12784 UIApplicationMain + 1488    21  xxxDance                            0x100200b6c xxxDance + 2100076    22  libdyld.dylib                       0x0000000197466a08 <redacted> + 4)dSYM UUID: AC5A1E49-1E38-3CD7-BD6F-DE49294F03AFCPU Type: arm64Slide Address: 0x0000000100000000Binary Image: xxxDanceBase Address: 0x0000000100044000

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

$ cd ~/Library/Developer/Xcode/Archives/yyyy-mm-dd/appname.xcarchive/dSYMs/appname.app.dSYM/Contents/Resources/DWARF

然后执行

$ atos -arch arm64 -o xxxMovie 0x1153b9

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

参考文章:
通过崩溃trace来查找问题原因

0 0