这里我们以UMeng捕获的错误信息举例:
原文:http://blog.csdn.net/smking/article/details/9342899
从友盟中, 我们可能会得到如下信息:
Application received signal SIGSEGV
(null) ( 0 CoreFoundation 0x359348a7 __exceptionPreprocess + 186 1 libobjc.A.dylib 0x37cdb259 objc_exception_throw + 32 2 CoreFoundation 0x35934789 +[NSException raise:format:] + 0 3 CoreFoundation 0x359347ab +[NSException raise:format:] + 34 4 NxxMovie 0x1153b9 _mh_execute_header + 1131449 5 libsystem_c.dylib 0x32d407e3 _sigtramp + 38 6 NxxMovie 0x390fb _mh_execute_header + 229627 7 CoreFoundation 0x358931fb -[NSObject performSelector:withObject:] + 42 8 NxxMovie 0x175a5 _mh_execute_header + 91557 9 CoreFoundation 0x358931fb -[NSObject performSelector:withObject:] + 42 10 Foundation 0x35457747 __NSThreadPerformPerform + 350 11 CoreFoundation 0x35908ad3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14 12 CoreFoundation 0x3590829f __CFRunLoopDoSources0 + 214 13 CoreFoundation 0x35907045 __CFRunLoopRun + 652 14 CoreFoundation 0x3588a4a5 CFRunLoopRunSpecific + 300 15 CoreFoundation 0x3588a36d CFRunLoopRunInMode + 104 16 GraphicsServices 0x37526439 GSEventRunModal + 136 17 UIKit 0x33396cd5 UIApplicationMain + 1080 18 NxxMovie 0x31b7 _mh_execute_header + 8631 19 NxxMovie 0x3150 _mh_execute_header + 8528 ) dSYM UUID: FF67F6D3-C71C-3A7D-9C4C-C4FFBF8EEEB9 CPU Type: armv7 Slide Address: 0x00001000 Binary Image: NxxMovie Base 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. 就可以看到这处内存地址反编译回来的源码行。
可以有效地帮助分析原因。
相关推荐
Laravel开发-umeng Umeng Laravel软件开发包
Umeng分享自定义面板实现
Laravel开发-umeng-laravel5 暂无描述
umeng 分享QQ微信微博等其他第三方信息支持授权
umeng_push_analytics是包含最新兼容的友盟推送和友盟统计SDK
Laravel开发-umeng-push 拉拉维尔的推手
将umeng错误导入github问题。 安装 go get -u github.com/cgcgbcbc/umeng2github 用法 首先,您需要从www.umeng.com/apps/<appid>/error_types下载错误报告,然后单击“导出”按钮 然后,您可以将导出的错误的...
umeng社会化分享demo,最新的官方资源。分享平台:微信,新浪微博、QQ、QQ空间
umeng_android_social_sdk_5.1.2_custom
umeng_ios_social_sdk_4.1_custom
umeng_android_social_sdk_5.2.1_custom
sdk Java android 的安装必须的工具
基于友盟的微信朋友圈分享,可以自定义UI,也可以使用友盟自带的UI。
Android快速SDK(24)第三方分享UmengShare【肌肉记忆,分钟接入】
umeng社会化分享之QQ和QQ空间,认真整理过的,借鉴自官方,直接看com.personalblog.MainActivity中的实现便可。博文地址:喔,还在审核。
umeng渠道打包工具说明,有配图。umeng打包工具,快捷,操作简单,节省时间
入门该项目是Flutter的起点,Flutter是一个特殊的程序包,其中包括适用于Android和/或iOS的平台特定的实现代码。 要获得Flutter入门方面的帮助,请查看我们的,其中提供了教程,示例,有关移动开发的指南以及完整的...
share、umengShare、shareSDK、原生分享 github地址:https://github.com/maybenai/SocialShare