根据友盟错误信信息反编译 通过崩溃trace来查找问题原因

转载 2016年08月29日 15:15:43

转自:http://blog.csdn.net/smking/article/details/9342899

这里我们以UMeng捕获的错误信息举例:

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

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. 就可以看到这处内存地址反编译回来的源码行。

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

通过崩溃trace来查找问题原因

通过崩溃trace来查找问题原因 分类: 技术 2013-07-16 14:59 248人阅读 评论(0) 收藏 举报 这里我们以UMeng捕获的错误信息举例: 从友盟中, 我们可能会得到如...
  • yanyusong9002
  • yanyusong9002
  • 2013年09月17日 18:16
  • 512

友盟崩溃信息定位

一般来说,产品上线后或多或少都会一些在测试过程中极难发现的bug存在,而引起程序的崩溃,影响用户的体验。 除了苹果自身收集crash信息外,基本上用的最多的就是友盟了。 然而友盟的崩溃信息我们如果...
  • leleyuan1130
  • leleyuan1130
  • 2017年02月23日 21:17
  • 210

71.iOS 错误堆栈查找崩溃原因的方法---根据崩溃信息,找到对应的崩溃代码

已标记错误位置的: 3 FIR 0x000000010bfddd8c -[FIRViewController viewDidLoad] + 8588 未标记错误位置,有基地址的情况: 3 F...
  • qin_xiaogang
  • qin_xiaogang
  • 2015年09月01日 11:53
  • 994

友盟分享系列-微博分享踩过的坑

开发的一款android应用,需要有第三方登录与分享功能,为了用户各种数据分析的便利选择了友盟分享。下面我就简单说几个我踩过的坑,希望大家能够多多指教。 1. 友盟微博分享在android5.0及以上...
  • u011013781
  • u011013781
  • 2016年07月29日 17:11
  • 1956

如何使用MAP文件找到程序崩溃的原因

如何使用MAP文件找到程序崩溃的原因 作者 Wouter Dhondt 翻译 冯亦成(fengyc@pset.suntec.net) [译 者] 在我们调试程序的时候,习惯于不停的Step...
  • u012256258
  • u012256258
  • 2017年02月24日 20:45
  • 452

通过崩溃trace来查找问题原因 Application received signal SIGSEGV(null)

这里我们以UMeng捕获的错误信息举例: 从友盟中, 我们可能会得到如下信息: Application received signal SIGSEGV (null) ( 0 ...
  • yangkunlll
  • yangkunlll
  • 2014年10月20日 19:28
  • 1856

Application received signal SIGSEGV通过崩溃trace来查找问题原因

这里我们以UMeng捕获的错误信息举例: 从友盟中, 我们可能会得到如下信息: Application received signal SIGSEGV (null) ( 0 CoreFo...
  • shuidonglCH
  • shuidonglCH
  • 2015年05月05日 13:10
  • 420

ios查找分析友盟统计闪退日志,代码错误位置的方法闪退分析CrashAnalyze

转自:http://www.xmsdn.net/iso/ios-crashanalyze/CrashAnalyze查找友盟统计提交的闪退日志,代码具体位置的方法:一,通过命令行查找 1, 将打包的A...
  • ALDRIDGE1
  • ALDRIDGE1
  • 2015年12月30日 01:05
  • 1570

Web站点崩溃?不知道原因?

Web站点崩溃?不知道原因? 有许多种原因可能导致Web站点无法正常工作,这使得系统地检查所有问题变得很困难。下面将集中分析总结导致Web站点崩溃的最常见的问题。如果可以解决这些常规问题,那么也将有...
  • s7734659
  • s7734659
  • 2012年12月03日 10:15
  • 162

android 使用ndk-statck工具查看错误信息

使用NDK对cocos2dx交叉编译到android,生成动态库.so文件,eclipse中运行时,程序崩溃,输出下面信息。 程序发生崩溃的共享库在 $PROJECT_PATH/obj/lo...
  • shiou_sky
  • shiou_sky
  • 2013年12月18日 16:25
  • 1205
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:根据友盟错误信信息反编译 通过崩溃trace来查找问题原因
举报原因:
原因补充:

(最多只允许输入30个字)