使用 symbolicatecrash 解析崩溃堆栈

转载 2015年07月09日 19:20:07
一、先引用一位牛人的博贴:

xcode解crashlog工具symbolicatecrash的使用

在xocde编译app的时候会同时生成一个以dsym(该app对应的符号表)作为后缀的文件,每个app对应一个符号表。手机连接到电脑,用organizer 可以看到Device Logs,将某个crashlog直接拖出来,然后需要通过symbolicatecrash来查看,但是这个工具在xccode4.3的时候改变了存放的位置。

 

1.给xcode打一个补丁: 命令行运行 /usr/bin/xcode-select -print-path

 

如果输出”/Developer”或者其他非”/Applications/Xcode.app/Contents/Developer/”的内容,运行下面的命令:

sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer/

否则就OK

 

2.查找symbolicatecrash:find /Applications/Xcode.app -name symbolicatecrash -type f

获取路径,我的是/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Devel-oper/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash

 

3、将symbolicatecrash设置连接,使得在任何位置都可以使用

sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Deve-loper/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/sy-mbolicatecrash /usr/bin/symbolicatecrash

 

4、将**.app.dsym文件(需要找到对应与crash app版本的dsym文件哦) 和 **.crash 文件 放到同一个文件夹中

我的是:XXX.app.dSYM  和 XXX.crash两个文件

在终端中进入到该文件夹,运行 symbolicatecrash XXX.crashXXX.app.dSYM >log.crash  即可解出crash log —log.crash。

 

如果看到Error: “DEVELOPER_DIR” is not defined at /usr/bin/symbolicatecrash line 53.

那么设置下 export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

 

4.3之前

1.直接find /Developer -name symbolicatecrash -type f   就可以进行接下来的步骤

其实发现在organizer直接看该crash log 也可以,据说这样会有些地址没解析出来,所以要用symbolicatecrash来解析一遍  不过暂时没发现区别  还真有区别

 

如果用organizer看不到目录 就用itools 在文件系统里找  需要越狱哦

真机上crash log 其中一个目录

/var/mobile/Library/Logs/CrashReporte

二、接下来进入正题:

验证uuid:

a. Qzone.app/Qzone 的uuid
b. QZone.app.dSYM 的uuid
c. QZone.crash 的uuid

三者一致才能还原符号表。



1. 将 Qzone.app 、QZone.app.dSYM、 QZone.crash放在同一个目录:


2. 核对uuid是否一致:




三者一致。

3. 进行解析:


让解析后重新生成文件: log.crash。

ok ,结束。

4. 还原符号表之前与还原之后的对比:

还原前:



还原后:



over.

相关文章推荐

使用 symbolicatecrash 解析崩溃堆栈

一、先引用一位牛人的博贴:xcode解crashlog工具symbolicatecrash的使用在xocde编译app的时候会同时生成一个以dsym(该app对应的符号表)作为后缀的文件,每个app对...

使用symbolicatecrash解析崩溃日志

1.xcode 有自带的symbolicatecrash,可以将.crash文件中的16进制地址转换成可读的函数地址。 symbolicatecrash位于: 实际上,dSYM文件中保存了相关sym...

使用symbolicatecrash分析崩溃日志

参考文档: http://blog.csdn.net/u010850094/article/details/54379231 分析iOS Crash文件:符号化iOS Crash文件的3种方法 ...

Xcode崩溃日志分析工具symbolicatecrash用法

什么是symbolicatecrash symbolicatecrash是Xcode自带的一个分析工具,可以通过机器上的崩溃日志和应用的.dSYM文件定位发生崩溃的位置,把crash日志中的一堆...

使用symbolicatecrash对苹果日志进行解析

这两天提交审核给拒绝了,苹果返回了几个奔溃日志,里面有给出一些基本的错误信息,但都是一些地址信息。我们需要把这些地址信息转换成我们需要的代码错误信息。这时候就需要用到symbolicatecrash了...

iphone崩溃日志分析工具symbolicatecrash用法

iphone崩溃日志分析工具symbolicatecrash用法 iphone崩溃日志分析工具symbolicatecrash   Symbolicatecrash是Xcode自...

iphone崩溃日志分析工具symbolicatecrash用法

iphone崩溃日志分析工具symbolicatecrash   Symbolicatecrash是Xcode自带的一个分析工具,可以通过机器上的崩溃日志和应用的.dSYM文件定位发生崩溃...

Xcode崩溃日志分析工具symbolicatecrash用法

什么是symbolicatecrash symbolicatecrash是Xcode自带的一个分析工具,可以通过机器上的崩溃日志和应用的.dSYM文件定位发生崩溃的位置,把crash日志中的一堆...

苹果审核返回崩溃日志 iOS .crash文件处理 symbolicatecrash

AppStore审核被拒,返回crashLog.txt文件,可是打开后都是十六进制的地址,我们可以使用Xcode自带的 symbolicatecrash 解析得到我们需要的详细崩溃信息crashLog...

Symbolicatecrash符号化App崩溃日志

就iOS而言,如果应用程序出现奔溃,系统会记录这次奔溃时的系统快照,这就是crash log。应用程序的崩溃日志,使用的是符号话标记,也就是说只是记录了崩溃时,调用堆栈的一些内存信息。这些信息,对于研...
  • liuwin7
  • liuwin7
  • 2015年01月22日 15:33
  • 789
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用 symbolicatecrash 解析崩溃堆栈
举报原因:
原因补充:

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