iOS 使用dsym符号化线上crash日志(ips文件)

1.获取崩溃日志

可以iphone连接mac复制当时的崩溃日志。
Xcode->Window->Devices View Device Logs

如果是testflight的崩溃是可以分享的,分享出来可能是ips文件。

把文件名称改成my.crash

使用脚本把新版本崩溃日志转成老版本格式

这一步不是必须的,在后面解析的时候如果遇到下面这个的报错可以尝试这一步。

No crash report version in mycrash.crash

下载下面的文件
convertFromJSON.swift

然后如下面这样运行这个文件就能把老版本格式转成新版本:

swift convertFromJSON.swift -i {your_json_ips_file} -o {name_for_file_where_crash_will_be_saved}

把文件名称改成my.crash

2.获取dsym文件

每次编译生成的线上包,都会产生编译产物(这可能需要一些配置才会产生)。在下面的路径可以获取。
Xcode ->Window->Organizer 此时就能看到打包的Archives
在这里插入图片描述

选中崩溃的那个版本:Show in Folder
在这里插入图片描述
然后显示包内容
在这里插入图片描述
打开路径里面就有dsYMs文件夹,里面的后缀为app.dSYM就是目标文件
在这里插入图片描述

3.找到xcode的symbolicatecrash工具

find /Applications/Xcode.app -name symbolicatecrash -type f
返回的路径就是文件所在路径(可能有多个,去除掉明显是模拟器的,取剩下的最后一个)

4.执行解析

把symbolicatecrash工具、dSYM文件(我的是AIChat.app.dSYM)、my.crash文件放在一起,用命令行执行下面的指令:

./symbolicatecrash my.crash AIChat.app.dSYM > result.crash

可能遇到报错:

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

如果遇到了就在命令行里执行如下指令:

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

参考文档:
jogging20
AppleCrashScripts

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/176252.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何知道服务器的某个端口是否打开

注意:服务器的TCP端口,比如1886端口,出方向 和进方向 都打开才可以用 1、telnet 命令:telnet ip port,port即端口,我们一般最常见的命令就是telnet,但是telnet使用的是tcp协议,换句…

[云原生案例1.] 构建LNMP架构并运行Wordpress个人博客平台

文章目录 1. 当前需求2. 前置准备3. 搭建过程3.1 创建自定义网络3.2 部署并配置nginx3.2.1 创建工作目录并上传相关软件包3.2.2 解压缩相关软件包3.2.3 编写Dockerfile文件3.2.4 编写nginx.conf文件3.2.5 创建nginx镜像3.2.6 运行容器 3.3 部署并配置mysql3.3.1 创建工作目录3.…

在科技展厅设计中,如何通过空间规划来突出展品和主题?

数字多媒体技术在各行业内的广泛应用,使内容展览展示技术得到了更新,尤其是在科技展厅设计中,更是将各类多媒体互动装置的优势发挥到了极致,为观众提供现代化的感官体验,而这其中有效的空间规划对于现代化科技展厅的效…

3D模拟场景开发引擎

在3D工程模拟开发中,有一些专门的引擎和工具可供选择,以帮助您创建逼真的三维模拟和模型。以下是一些用于3D工程模拟的开发引擎和工具,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流…

最新Ubuntu20.04安装教程(图文)

总的来说,安装Ubantu包含以下三个步骤: 一、安装虚拟机 二、Ubuntu镜像下载 三、虚拟机配置 一、安装虚拟机 选择安装VMware Workstation,登录其官网下载安装包,链接如下: 下载 VMware Workstation Pro | CN 下载…

iOS实现弹簧放大动画

效果图 实现代码 - (void)setUpContraints {CGFloat topImageCentery (SCREEN_HEIGHT - 370 * PLUS_SCALE) / 2;[self.topIconView mas_makeConstraints:^(MASConstraintMaker *make) {make.centerX.mas_equalTo(0);make.centerY.equalTo(self.view.mas_top).with.offset(t…

面试官:聊聊kafka线上使用会有哪些问题?

哪些环节会造成消息丢失? 首先说说哪些环节会丢消息 消息生产者: (1)acks0: 表示producer不需要等待任何broker确认收到消息的回复,就可以继续发送下一条消息。性能最高,但是最容易丢消 息。大…

关键点检测、姿态识别、目标检测、车牌识别等项目部署代码+数据集汇总

一、AI健身计数 1、图片视频检测 (cpu运行): 注:左上角为fps,左下角为次数统计。 1.哑铃弯举:12,14,16 详细环境安装教程:pyqt5AI健身CPU实时检测mediapipe 可视化界面…

VS LiveShare使用操作介绍

VS LiveShare的使用教程 文章简介下载过程 文章简介 本篇文章主要介绍了如何安装和使用LiveShare的过程。 下载过程 1.在扩展->管理扩展,搜索Live Share后,下载对应的安装包,安装后对VS进行重启 2.安装后界面右上角会出现Live Share标…

docker环境安装+maven依赖继承问题

1,docker环境安装 我们使用yum指令进行安装,分别cmd运行: yum install -y yum-utils device-mapper-persistent-data lvm2 yum-contig-manager --add-repo https://download.docker.com/linux/centos/docker-ce.rep具体解释如下:…

目标检测中常见指标 - mAP

文章目录 1. 评价指标2. 计算示例3. COCO评价指标 1. 评价指标 在目标检测领域,比较常用的两个公开数据集:pascal voc和coco。 目标检测与图像分类明显差距是很大的,在图像分类中,我们通常是统计在验证集当中,分类正…

【Azure】存储服务:Azure 的存储账户

文章目录 一、前提知识(建议了解)二、介绍 Azure 存储帐户三、使用 Microsoft Azure 门户创建存储帐户 一、前提知识(建议了解) 在每一个云厂商中,都有自身的云存储,也有根据不同功能进行区分的不同类型的…

SPSS两独立样本t检验

前言: 本专栏参考教材为《SPSS22.0从入门到精通》,由于软件版本原因,部分内容有所改变,为适应软件版本的变化,特此创作此专栏便于大家学习。本专栏使用软件为:SPSS25.0 本专栏所有的数据文件请点击此链接下…

循环神经网络(RNN)与长短期记忆网络(LSTM)

前言: 通过前面的学习,我们以BP神经网络为基础,认识到了损失函数,激活函数,以及梯度下降法的原理;而后学习了卷积神经网络,知道图像识别是如何实现的。今天这篇文章,讲述的就是计算机…

【Linux】第七站:vim的使用以及配置

文章目录 一、vim1.vim的介绍2.vim基本使用3.vim的命令模式常用命令4.底行模式 二、vim的配置 一、vim 1.vim的介绍 vim编辑器,用来文本编写,可以写代码 它是一个多模式的编辑器 它有很多的模,不过我们暂时先只考虑这三种模式 命令模式插入模…

v-bind动态改变样式

通过v-bind切换样式,:class"{ active:true}"为true展示样式,false不展示。也可以由:style"{ width:percent %}"动态控制宽度。 注意后面是JS对象,所以后面的值不可以包含-,比如background-color会解析出错&a…

Windows下多Chrome谷歌浏览器版本共存

场景 某些年代久远的 WEB 应用,必须在指定的浏览器或版本才能正常运行😂,此时就需要多个版本 chrome 浏览器共存。 解决方案 下载指定版本 可以从 https://www.chromedownloads.net/ 下载需要的版本,此处下载的是87.0.4280.14…

C++之string

C之string #include <iostream>using namespace std;/*string();//创建一个空的字符串string(const char* s);//使用字符串s初始化string(const string& str);//使用一个string对象初始化另外一个string对象string(int n,char c);//使用n个字符c初始化*/void test1()…

带你从0开始学习自动化框架Airtest

现在市面上做UI自动化的框架很多&#xff0c;包括我们常用的Web自动化框架Selenium&#xff0c;移动端自动化框架Appium。 虽然Selenium和Appium分属同源&#xff0c;而且API都有很多相同的地方&#xff0c;可以无损耗切换&#xff0c;但是还是需要引入不同的库&#xff0c;而…

在NISQ小型计算机上执行大型并行量子计算的可能性

简介 Steve White提出了密度矩阵重整化群&#xff08;DMRG&#xff09;的基本思想&#xff0c;即纠缠是一种有价值的资源&#xff0c;可以用来精确或近似地描述大量子系统。后来&#xff0c;这一思想被理解为优化矩阵积状态&#xff08;MPS&#xff09;的算法&#xff0c;支持…