iOS崩溃日志符号化

官方文档  Understanding and Analyzing Application Crash Reports


crash日志有助于我们快速定位,但是一堆地址看不到,所以将日志符号化将更加让我们能看懂日志。

方式1)获取崩溃日志自行进行符号化。

方式2)借助第三方服务,通过第三方平台直接符号化 。

这里主要介绍下方法1自行符号化过程

主要需要三个文件:


1. last.crash 崩溃日志

找到方法 :

1).xocde菜单 

 选择 Window——>Organizer.  选择 crashes

2).当手机连接Xcode进行测试时,可以直接查看崩溃信息。

具体方法打开 window->Devices & Simulators

然后点击View Device Logs

3).手机:

设置——>隐私——>分析——>分析数据

可以找到应用程序崩溃信息。是 .ips文件将数据可以通过qq分享 然后将.ips 文件修改为.crash 文件。(注意 找这个文件是按照你项目名称首字母进行排序的 不是按时间)


2.dSYM   文件是ios编译后保存16进制函数地址映射信息的文件

找到方法:

xocde菜单  选择”Window——>Organizer”。

选择Archives 找到对应的线上的版本  ——> 右键 show in finder  ——>右键显示包内容

3.symbolicatecrash 

Xcode有自带的symbolicatecrash工具,可以通过dSYM文件将crash文件中的16进制地址转换成可读的函数地址。symbolicatecrash工具位于:

找到位置:

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

注意 xcode版本不同位置可能不一样。

最后将三个文件放入到一个文件夹 比如 crashFile

打开终端执行语句

1)  //CD到存放这三个文件目录下

cd/Users/xxx/Desktop/crashFile

2) //进行crash日志解析

./symbolicatecrash ./*.crash ./*.app.dSYM > log.crash 

如果报错:

Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.

需要接着输入下面这条指令,告诉终端 "DEVELOPER_DIR" 的位置

export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"

在执行

./symbolicatecrash ./*.crash ./*.app.dSYM >log.crash 

之后会出现一个新的  log.crash

log.crash 就是想要的文件。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在 App 审核时,可能会出现类似下图这种被拒的情况: 原来出现了闪退,这对于 App 是个致命的问题,要马上修复...
    NSScorpio阅读 10,386评论 4 10
  • 前言 崩溃是让发人员比较头痛的事情,app崩溃了,说明代码写的有问题,这时如何快速定位到崩溃的地方很重要。调试阶段...
    進无尽阅读 6,291评论 0 9
  • 当在非调试状态下,我们用真机测试app,crash或者说闪退是一件很常见的事,最让我们开发人员头疼的是,自己在开发...
    naruto_yuqin阅读 13,736评论 1 30
  • 原文地址:https://www.jianshu.com/p/3caccc287346 如果大家是用真机在调试的过...
    炸街程序猿阅读 3,757评论 0 1
  • 戟是一种既可刺杀也可勾啄具有双重性能的兵器,能够明显提高战斗效能。古书中也称“棘”。是将戈和矛结合在一起,具有勾啄...
    loiter_7101阅读 5,338评论 0 0

友情链接更多精彩内容