文学常识题库

【转】Xcode分析CrashLog的方法

  • 作者:本站
  • 时间:2019-08-13
  • 101人已阅读
您现在的位置:首页 > 西方文学 > 文章
简介 原文地址:Bug是永远伴随着程序员们的东西,各种各样的情况造成程序crash掉也是家常便饭。 Windows下的很多大型软件在崩溃的时候,都会弹出提示框,询问用户是否将crash的信息发

	【转】Xcode分析CrashLog的方法

原文地址:Bug是永远伴随着程序员们的东西,各种各样的情况造成程序crash掉也是家常便饭。

Windows下的很多大型软件在崩溃的时候,都会弹出提示框,询问用户是否将crash的信息发送到软件厂商,以供软件开发商debug。

Appstore中的软件也有这个功能,用户在使用软件的时候,如果程序崩溃,错误信息会发送到Apple的服务器中,软件的开发者们可以很方便在后台获得自己程序的crashlog,供自己调试。

但随之而来的问题是,我们收到的程序崩溃调试信息多半是汇编语言一样的堆栈代码,同时这些信息并不是在我们debug的时候产生,所以看到这一串crashlog的天书,常常无可奈何。

Xcode很好的解决了这一问题,它所提供的Orgainzer分析器加上symbolicatecrash,可以分析二进制文件以及源代码和crashlog之间的连接,直接找出源程序中出错的代码行。

方法网上到处是,本文不讨论。

但是如果使用symbolicatecrash无法定位到出错的代码行的话,怎么整呢?有一个办法,如下:首先查看crashlog中的崩溃线程,假如是这样的:Thread0Crashed:_msgSend+241MyApp0x000036d201000+9938我们得到了用户发生崩溃情况的内存地址:0x000036d2然后回到我们应用程序的build目录,目录下一定要包含和两个文件。

在控制台使用dwarfdump命令,解析出内存地址,如:输出信息如下:直接定位到代码的出错行,Cool!postedon2011-12-2812:24阅读(882)所属分类:。

Top