一、先引用一位牛人的博贴:

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 解析崩溃堆栈的更多相关文章

  1. 转: iOS崩溃堆栈符号表使用与用途

    转:http://bugly.qq.com/blog/?p=119 iOS崩溃堆栈符号化,定位问题分分钟搞定! 2015.3.16 腾讯Bugly 微信分享   最近一段时间,在跟开发者沟通过程中,萝 ...

  2. 如何用ndk-stack察看android崩溃堆栈

    前提:要打开eclipse的LogCat窗口 1.保存log,先要选中eclipse的LogCat的所有行,点击保存,假设保存到了/User/mac/Desktop/log.txt 2.找到你的so( ...

  3. Android&iOS崩溃堆栈上报

    Android&iOS崩溃堆栈上报 原文地址:http://www.cnblogs.com/songcf/p/4885468.html 通过崩溃捕获和收集,可以收集到已发布应用(游戏)的异常, ...

  4. C++后台服务崩溃堆栈日志

    C++后台服务崩溃堆栈日志 C/C++后台服务运行过程中总会出现一些不容易重现的崩溃故障,由于重现频率低,同时运行在服务器上,导致无法调试,此外服务直接崩溃,常规日志无法截获到有用信息,这时如果能够保 ...

  5. Xcode自带工具symbolicatecrash解析Crash文件

    项目中遇到一台手机运行测试包闪退的现象,而且是一个设备闪退其他设备没有再现的情况 可以看到Crash信息,但是指定的问题给出的是16进制内存地址,根本无法定位问题发生在哪个类的哪个函数中 所以需要解析 ...

  6. symbolicatecrash解析crash文件

    导出crash文件 Xcode -> Window -> Devices and Simulators -> View Device Logs ,然后选中导出. 找到.app文件和. ...

  7. 转:ndk-stack打印崩溃堆栈

            接下来详细说明ndk-stack的使用方法.         第一步:首先获得发生崩溃的共享库.                 如果你是利用ndk-build应用的话,共享库会在$P ...

  8. 苹果审核返回崩溃日志 iOS .crash文件处理 symbolicatecrash.  困扰我多年的牛皮癣根治了 看到这篇文章拿过来用下

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

  9. iOS- 全方位解析.crash文件崩溃报告

    1.前言 想来每个iOS攻城狮,都免不了要接触.crash文件 那么什么是.crash文件? iOS app的所有崩溃记录都会记录在设备上,所以对于和我一样没有集成让用户发送崩溃报告功能的iOS开发者 ...

随机推荐

  1. 洛谷P2144 [FJOI2007]轮状病毒

    可以用Matrix-Tree定理,然而被卡精度 #include<cstdio> #include<cstdlib> #include<algorithm> #in ...

  2. hdu 5491(位运算)

    题意:给你n,a,b. 希望得到比n大,二进制1的个数在 a ,b之间的最小的数 思路:①满足条件,输出 ②num < a 从右找到是0的最小位,变成1 ③num > b从右到左找是1的最 ...

  3. Mysq 索引优化

    MYSQL支持的索引类型 BTREE索引 特点: 通过引用以B+权的结构存储数据 能够加快数据的查询速度 更适合进行范围查找 应用: 全值匹配的查询 = 匹配最左前缀的查询 匹配列前缀查询 LIKE ...

  4. python 类的特殊成员方法

    __doc__ # 输出类的描述信息 __module__ # 表示当前操作的对象在那个模块 __class__ # 表示当前操作的对象的类是什么 __init__ # 构造方法,通过类创建对象是,自 ...

  5. 二叉树的基本操作(含Huffman树)

    大二时候写的烂代码,翻出来复习复习(o(╯□╰)o). 代码: #include <stdio.h> #include <stdlib.h> #define Max_Size ...

  6. Delphi7.0常用函数-属性-事件

    abort 函数 引起放弃的意外处理 addexitproc 函数 将一过程添加到运行时库的结束过程表中 addr 函数 返回指定对象的地址 adjustlinebreaks 函数 将给定字符串的行分 ...

  7. Jenkins简明入门(二) -- 利用Jenkins完成Python程序的build、test、deployment

    大家可能还没搞清楚,Jenkins到底能做什么? 本节内容利用Jenkins完成python程序的build.test.deployment,让大家对Jenkins能做的事情有一个直观的了解. 本节内 ...

  8. Flexible DEMO 实现手淘H5页面的终端适配

    <!DOCTYPE html> <html> <head> <title>淘宝flexiblejs</title> <meta cha ...

  9. 地址四级联动的vue组件

    一.效果图如下: 二.思路 主要在vue中结合 mint-ui组件的Picker和Popup方法,负责对json地址进行展示: 三.代码地址 四.说明 address4.json最好是在点击父组件的地 ...

  10. javascrpt_数组学习

    1.构造函数 var arr = new Array(); Array 构造函数有一个很大的缺陷,就是不同的参数,会导致行为不一致. 因此,不建议使用它生成新数组,直接使用字面量是最好的做法. 2.静 ...