IOS Crash log分析(转)

说明一下,symbolicatecrash是一个可以独立使用的错误日志分析工具。

虽然iPhone连着Xcode的时候可以直接查看设备Logs,但是更多的崩溃情况是发生在我们在分发了ipa之后(无论是测试还是上架)。因此,如果我们有幸从用户手中拿到了Logs,那么此时symbolicatecrash就可以大显神威了,它能够将错误日志转化成我们可读的形式。

symbolicatecrash不出意外,也是用到了Mapping方式来替换标记。

(1)在桌面创建一个Crash文件夹

(2)找到symbolicatecrash

打开终端输入以下命令: find /Applications/Xcode.app -name symbolicatecrash -type f

你会找到: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/./symbolicatecrash

因为symbolicatecrash可以独立使用,因此我们可以把它复制到Crash文件夹(此处可能涉及权限,如果涉及权限请使用sudo)

cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash /Users/angel/Desktop/Crash

(3)从Organizer中获取.app、.app.dSYM文件,也放到Crash文件夹中

(4)切换到桌面的Crash目录下: cd ~/Desktop/Crash

执行命令 ./symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash

这时候终端有可能会出现:Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 60

输入命令:export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"

再执行./symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash 这时候终端将会进行处理了

处理结果是生成一个新的文件symbol.crash。这个文件就能用于分析了。

(5)symbol.crash

注意一点,用户返回的数据有时候会多一些头或者尾之类的,比如iTools导出的crash文件,就在头部多了一些东西。

这些多余的数据还是去掉比较好,可能会影响处理。

时间: 2024-10-15 03:15:58

IOS Crash log分析(转)的相关文章

IOS Crash Log 分析

上架AppStroe 被打回来了,原因是: Your app crashed on iPad running iOS 11.3.1 connected to an IPv6 network when we tapped on profile image. We have attached detailed crash logs to help troubleshoot this issue. 崩溃日志 一.Crash文件结构 当程序运行Crash的时候,系统会把运行的最后时刻的运行信息记录下来,

iOS Crash Log 分析(三)

如果不知道怎么获取CrashLog 或者 Crash Log符号化请看这两篇文章 如何获取真机Crash Log 文件 如何符号化Crash Log文件 打开Crash Log 会看到如下的信息: Incident Identifier: AF4F2C83-8F68-47EF-B5AA-F16B067B5DF4 CrashReporter Key:   5670de85ee1f0f3c904891536e81ec086ed4b35b Hardware Model:      iPhone8,1

IOS crash log分析

此处不讨论具体的如何根据.dsym文件解析crash log的方式. 一.一般的崩溃 1.违反苹果的政策:启动.恢复.暂停或退出超时; 用户强制退出: 低内存退出:MemoryWarning; 2.程序中有bug 二.崩溃解析说明 1.MemoryWarning的崩溃比较特别,没有任何trace,标志性信息即某一条trace后面有“jettisoned”. 解决方法: 可用Allocations.Leaks Instruments 或VM Tracker Instrument来帮助检查.另外,解

在Xcode6下IOS Crash Log分析文一

1.导出Log文件 将手机连接到mac上,打开Xcode,window-Devices-This Device,就能刷新出所有本机crash时留下的日志文件,选择你的crash文件,右键-Export Log到User/crash目录下 2.获取app和dsYM文件 Xcode-window-organizer-Archives就能看到我们曾经archive过的所有文件,找到crash对应的archive文件,右键-show in finder-右键-显示包内容,将dSYMs/xxxx.dSYM

iOS crash log 解析

iOS开发中,经常遇到App在开发及测试时不会有问题,但是装在别人的设备中会出现各种不定时的莫名的 crash,因为iOS设备会保存应用的大部分的 crash Log,所以可以通过 crash Log 来定位 crash 原因. 一. 获取iOS设备上的 crash log 1. 将iOS设备连接到电脑上,打开 Xcode -> Organizer -> Devices,找到该台设备,在 Device logs 中找到 crash log(后缀为 .crash 的 log 文件),将其导出即可

ios crash log获取和符号化

获取crash log 如果不借助第三方框架,要收集ios app的crash log是一件很困难的事情.有2个办法: 第一个办法是要求用户打开"诊断与用量"中的自动发送,然后如果APP崩溃了,ios会弹出提示框,用户确认之后,crash log会自动发送到苹果后台,然后用开发者账号登陆上去,可以拿到crash log 第二个办法是将device,同步到iTunes之后,再从pc上拿到crash log,再发送 详细步骤见: how to get crash log syncing w

ios crash文件分析

http://www.cnblogs.com/yingkong1987/p/3157692.html http://blog.sina.com.cn/s/blog_a573f7990101gi4k.html http://stackoverflow.com/questions/3609084/ipad-app-works-on-most-devices-gets-exc-crash-sigabrt-on-some 新建一个专门的目录进行解析处理,如: /crash 把对应的.app和.dSYM文

ios crash 日志分析

以下内容来自网络 https://coderwall.com/p/ezdcmg/symbolicating-an-ios-crash-log-without-the-original-dsym-file http://blog.csdn.net/jasonblog/article/details/19031517#0-tsina-1-77321-397232819ff9a47a7b7e80a40613cfe1 http://www.cocoachina.com/industry/20140514

iOS App Crash原理分析

预备知识:OS X系统分析 1.内核XNU是Darwin的核心,也是整个OS X的核心.XNU本身由以下几个组件构成: Mach微核心 BSD层 libKern I/O Kit 此外,内核是模块化的,允许根据需要动态加载插件形式的内核扩展. 2.Mach:XNU的核心,Mach仅能处理操作系统最基本的职责: 进程和线程抽象. 虚拟内存管理 任务调度 进程间通信和消息传递机制(例如:NSMachPort) 3.所以OS X是在Mach内核的基础上构建的,苹果不鼓励直接只用Mach的API,但是Ma