Application received signal SIGSEGV通过崩溃trace来查找问题原因
来源:互联网 发布:南昌市网络教研 编辑:程序博客网 时间:2024/05/16 06:06
这里我们以UMeng捕获的错误信息举例:
从友盟中, 我们可能会得到如下信息:
Application received signal SIGSEGV
(null)(0 CoreFoundation 0x359348a7 __exceptionPreprocess + 1861 libobjc.A.dylib 0x37cdb259 objc_exception_throw + 322 CoreFoundation 0x35934789 +[NSException raise:format:] + 03 CoreFoundation 0x359347ab +[NSException raise:format:] + 344 NxxMovie 0x1153b9 _mh_execute_header + 11314495 libsystem_c.dylib 0x32d407e3 _sigtramp + 386 NxxMovie 0x390fb _mh_execute_header + 2296277 CoreFoundation 0x358931fb -[NSObject performSelector:withObject:] + 428 NxxMovie 0x175a5 _mh_execute_header + 915579 CoreFoundation 0x358931fb -[NSObject performSelector:withObject:] + 4210 Foundation 0x35457747 __NSThreadPerformPerform + 35011 CoreFoundation 0x35908ad3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 1412 CoreFoundation 0x3590829f __CFRunLoopDoSources0 + 21413 CoreFoundation 0x35907045 __CFRunLoopRun + 65214 CoreFoundation 0x3588a4a5 CFRunLoopRunSpecific + 30015 CoreFoundation 0x3588a36d CFRunLoopRunInMode + 10416 GraphicsServices 0x37526439 GSEventRunModal + 13617 UIKit 0x33396cd5 UIApplicationMain + 108018 NxxMovie 0x31b7 _mh_execute_header + 863119 NxxMovie 0x3150 _mh_execute_header + 8528)dSYM UUID: FF67F6D3-C71C-3A7D-9C4C-C4FFBF8EEEB9CPU Type: armv7Slide Address: 0x00001000Binary Image: NxxMovieBase Address: 0x000f4000由于这类的崩溃信息通常难以重现, 没有任何的重现步骤,所以我们得找到发布该版本时的原始代码,可能会需要回朔到以前的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 armv7 -o xxxMovie 0x1153b9. 就可以看到这处内存地址反编译回来的源码行。
可以有效地帮助分析原因。
0 0
- 通过崩溃trace来查找问题原因 Application received signal SIGSEGV(null)
- Application received signal SIGSEGV通过崩溃trace来查找问题原因
- 通过崩溃trace来查找问题原因
- 通过崩溃trace来查找问题原因
- 通过崩溃trace来查找问题原因
- 通过崩溃trace来查找问题原因
- 通过崩溃trace来查找问题原因
- 通过崩溃trace来查找问题原因
- 通过崩溃trace来查找问题原因
- 通过崩溃trace来查找问题原因
- 通过崩溃trace来查找问题原因
- Application received signal SIGSEGV
- Application received signal SIGSEGV
- 根据友盟错误信信息反编译 通过崩溃trace来查找问题原因
- UMeng"Application received signal SIGSEGV"错误分析
- UMeng"Application received signal SIGSEGV"错误分析
- ios crash Application received signal SIGSEGV 通过crash 地址找到源码地址
- Program received signal SIGSEGV, Segmentation fault.
- 时间控件
- UVAlive3532 Nuclear Plants
- windows平台mysql5.6相关的两个小问题及解决方案
- css3简单动画之火箭快跑
- tesseract-ocr 3.0.2 iPhone编译 xcode6 sdk8
- Application received signal SIGSEGV通过崩溃trace来查找问题原因
- PHP文件上传详解
- 无领导小组讨论面试真题解析(八)—— 海上救援
- java环境变量设置
- c++ 数组操作
- 浅谈AdaBoost算法--附有详细示例解析
- 实习笔记
- 用U盘给MacBook安装Win7的方法
- stl之heap、stack的用法