对于打包上线的APP,或者打包测试的APP,出现了崩溃并不能方便的把手机链接到电脑使用XCode自动符号化,此时手动符号化就是重要的选项。
1.查找符号化工具symbolicatecrash
find /Applications/Xcode.app -name symbolicatecrash -type f
2.添加环境变量
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
3.把Dsym文件,crash文件,symbolicatecrash文件放到桌面同一个文件夹下
4.确认当前崩溃.crash文件与拿到的Dsym文件是否属于同一个App版本
获取符号文件的UUID: dwarfdump --uuid dSYM文件路径
对比崩溃日志中的UUID。 在崩溃.crash文件Binary Images:段中做对比。
5.执行符号化
./symbolicatecrash CrashName.crash AppName.app.dSYM > result.crash
 
脚本如下:
#!/bin/sh

# 使用方式:sh _symbolCrash.sh CrashName.crash路径 AppName.app.dSYM路径
# 保存外部传参
paramNum=$#
crashPM1=$1
symbolPM2=$2
readonly location=`pwd`
tempPath="" #1.增加环境变量
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer #2.查询符号化工具symbolicatecrash
tool=`find /Applications/Xcode.app/Contents -name symbolicatecrash -type f`
echo "查询到符号工具路径为:\n $tool" #3.查询崩溃文件中UUID
uuid=`dwarfdump --uuid $symbolPM2`
echo "DSYM文件中UUID为:\n ${uuid}" #4.符号化结果, crash文件路径 symbol符号路径先后顺序不能变
rm ~/Desktop/Result.crash
${tool} $crashPM1 $symbolPM2 > ~/Desktop/Result.crash open ~/Desktop/Result.crash
使用方法:
进入到脚本所在的目录
打开终端,在终端输入脚本指令: sh _symbolCrash.sh
然后依次拖入Crash文件,Dsym文件到终端
点击enter, 等待输出结果。
 
 
 

使用symbolicatecrash工具符号化Crash日志的更多相关文章

  1. iOS symbolicatecrash工具crash日志分析

    若一个App没有加入Crashlytics或者Buggly这些崩溃日志监控,那么我们在App崩溃的时候如何获取崩溃信息呢? 此时我们可以通过symbolicatecrash工具对手机日志来进行分析定位 ...

  2. Crash日志符号化

    1.符号化crash日志需要3样东西: 1).crash日志本身(如:example.crash),从Xcode的organizer导出或者来自Itunes Connect. 2).crash日志所对 ...

  3. iOS Crash日志

    Understanding Crash Reports on iPhone OS https://developer.apple.com/videos/wwdc/2010/?id=317 http:/ ...

  4. iOS Crash 分析 符号化崩溃日志

    参考: http://blog.csdn.net/diyagoanyhacker/article/details/41247367 http://blog.csdn.net/diyagoanyhack ...

  5. 命令行工具解析Crash文件,dSYM文件进行符号化

    备份   文/爱掏蜂窝的熊(简书作者)原文链接:http://www.jianshu.com/p/0b6f5148dab8著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 序 在日常开发 ...

  6. iOS .Crash文件分析处理办法 (利用symbolicatecrash工具处理)

    崩溃分析方式:命令行解析Crash文件 通过Mac自带的命令行工具解析Crash文件需要具备三个文件 symbolicatecrash,Xcode自带的崩溃分析工具,使用这个工具可以更精确的定位崩溃所 ...

  7. [转][iOS Crash文件分析]-如何使用symbolicatecrash工具

    上传一软件,被拒了,自己测试了n遍都未出现这个情况,今天用symbolicatecrash工具分析了一下苹果提供的Crash文件,最终查到是 - (void)mapView:(MKMapView *) ...

  8. iOS----- Crash 分析(文三)- 符号化崩溃日志

    未符号化的崩溃日志就象一本天书,看不懂,更别谈分析崩溃原因了.所以我们在分析日志之前,要把日志翻译成我们可以看得懂的文字.这一步我们称之为符号化. 在iOS Crash分析(文一)中已经提到过符号化的 ...

  9. iOS--崩溃日志的格式化分析---格式化crash日志

    工作中难免或碰到crash,如果是开发环境,碰到简单的crash还能重现下,如果不能重现的话,我们只能去分crash文件了. 首先看下面的crash问题,说句实话一看这个我是拒绝的,这怎么找原因啊,头 ...

  10. Crash日志分析

    从Crash文件出发解决bug的一般步骤,分三步: a, 获取设备上的崩溃日志. b, 分析崩溃日志,找到报错位置(定位到函数和代码行数). c, 打开代码,改bug. 1, 获取设备日志 1. 在可 ...

随机推荐

  1. Codeforces Round #677 (Div. 3) (A - E题题)

    1433A. Boring Apartments #include <bits/stdc++.h> using namespace std; int main() { int t; cin ...

  2. P1765

    和那道题一样,这次用的getchar,结果对了可是洛谷评测WA了,换成scanf单个字符,结果还是WA了,换成直接getline读入整个字符串就对了. 可见读入单个字符的方式有可能出现各种小错,尤其是 ...

  3. Vue第六篇 element-ui 项目管理工具npm webpack 启Vue项目vue-cli

    node npm npm管理项目 npm init -y npm install xxxx@0.0.0 npm uninstall xxx npm i 下载package.json所有的依赖 webp ...

  4. Java求一个集合的所有子集

    转载请注明出处: 求一个集合的所有子集表示从一个集合当中,任取任意项或不取,所能得到的所有结果,比如有一个集合{a,b,c,d},那么{a,b}, {b, d}等都是它的子集,空集也是它的子集, 一个 ...

  5. 一文搞清楚Java中的方法、常量、变量、参数

    写在开头 在上一篇文章:一文搞清楚Java中的包.类.接口 中我们讲了Java中的包.类和接口,今天继续将剩下的方法.常量.变量以及参数梳理完. Java中的变量与常量 在JVM的运转中,承载的是数据 ...

  6. 一个轻量快速的C++日志库

    limlog 作一篇文章记录实现,驱动优化迭代. 代码仓库 用法 实现 后端实现 前端实现 日期时间的处理 线程id的获取 日志行的其他项处理 优化 整形字符串格式化优化 测试 benchmark 性 ...

  7. [转帖]TiDB的使用限制

    https://docs.pingcap.com/zh/tidb/stable/tidb-limitations 本文会将详细描述 TiDB 中常见的使用限制,包括:标识符长度,最大支持的数据库.表. ...

  8. [转帖]Linux中查找大文件两种姿势

    https://rumenz.com/rumenbiji/linux-find-du-max-file.html 使用find命令查找大文件 find命令是Linux系统管理员工具库中最强大的工具之一 ...

  9. [转帖]Arm发布CortexX4,功耗可降低40%

    https://www.eet-china.com/mp/a224124.html ARM 发布了新一代的移动处理器内核,包括 Cortex-X4.Cortex-A720.Cortex-A520,预计 ...

  10. [转帖]AHCI到NVMe,SSD的关键科技革命

      https://baijiahao.baidu.com/s?id=1718020841628703656&wfr=spider&for=pc HDD和早期SSD大部分使用SATA接 ...