您的位置:首页 > 移动开发

Application received signal SIGSEGV

2015-12-17 10:01 423 查看

友盟分析得到的崩溃信息

信息描述如下

Application received signal SIGSEGV
(null)
(
0   CoreFoundation                      0x000000018462e5b8  + 160
1   libobjc.A.dylib                     0x0000000194d800e4 objc_exception_throw + 60
2   CoreFoundation                      0x000000018462e4dc  + 0
3   CxxSxxxxx                        0x10067ebcc _ZN4Json12StyledWriterD2Ev + 823188
4   libsystem_platform.dylib            0x000000019559c94c _sigtramp + 52
5   CoreFoundation                      0x000000018450d228 CFRelease + 524
6   CoreFoundation                      0x000000018451ab50  + 156
7   CxxSxxxxx                        0x100195bb8 CxxSxxxxx + 1661880
8   CxxSxxxxx                        0x100195d08 CxxSxxxxx + 1662216
9   libdispatch.dylib                   0x00000001953c53ac  + 24
10  libdispatch.dylib                   0x00000001953c536c  + 16
11  libdispatch.dylib                   0x00000001953cf4c0  + 1216
12  libdispatch.dylib                   0x00000001953c8474  + 132
13  libdispatch.dylib                   0x00000001953d1224  + 664
14  libdispatch.dylib                   0x00000001953d275c  + 108
15  libsystem_pthread.dylib             0x00000001955a12e4 _pthread_wqthread + 816
16  libsystem_pthread.dylib             0x00000001955a0fa8 start_wqthread + 4
)

dSYM UUID: A1851A3C-06D0-3E48-B8DF-BFC8BB6D35C0
CPU Type: arm64
Slide Address: 0x0000000100000000
Binary Image: CxxSxxxxx
Base Address: 0x00000001000ac000


由于这类的崩溃信息通常难以重现, 没有任何的重现步骤,所以我们得找到发布该版本时的原始代码,可能会需要回朔到以前的SVN或者Git版本。

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

cd /Users/heqin/Downloads/xxxMovie2.0.0_apps_0605_2104\ 13-6-5\ 下午9.02.xcarchive/dSYMs/xxxMovie.app.dSYM/Contents/Resources/DWARF

注意:1。对于成功生成archvie的项目, 在这个archive的包中, 是可以通过显示包内容, 看到DSYMs文件夹和一个products文件夹, 继续显示DSYMs文件夹下,可以看到一个xxx.app.DSYM文件,继续对它显示包内容,可以看到Contents/Resources/DWARF/xxxx文件, 这个文件是编译后的二进制文件,通过它可以进行反编译,从而找到二进制对应的源码位置。

2。 在xcode中,archive成功后, 会在Organizer界面中的Archives下, 可以看到所有的archive文件, 右键Show in Finder可以找到这个文件。

然后执行atos -arch arm64 -o CxxSxxxxx 0x10067ebcc. 就可以看到这处内存地址反编译回来的源码行。

可以有效地帮助分析原因。

通过崩溃trace来查找问题原因
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: