iOS系统Crash文件分析方法

我的老款Intel MacBook Pro,如何用OpenVINO把本地大模型推理速度提升10倍? 本文详细介绍了如何在老款Intel MacBook Pro上使用OpenVINO工具包将本地大模型推理速度提升10倍。通过对比Ollama CPU原生、Transformers原生和OpenVINO优化三种方案,展示了OpenVINO在性能优化上的显著优势,并提供了从环境配置到模型转换、性能调优的完整实战指南。 阅读详情

Xcode 4.3的symbolicatecrash的位置和老版本的不一致了。

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/

Xcode 4.3之前

/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash

一. 问题的产生

在xcode的Window->Orgnizer->Device Logs里面可以看到连着的iphone(ipad)设备上面程序crash的记录,但设备上的一个crash记录只能同步一次,

一旦在某台Mac上查看了Device Logs,设备上的crash文件就都会放到这台Mac上。

从Device Logs里面看crash文件,会发现有时候崩溃的信息里面有代码的函数名,有时候却只有函数地址(如下),这个是怎么回事呢?

Thread 0 Crashed:
0   libobjc.A.dylib                    0x300c87ec 0x300bb000 + 55276
1   MobileLines                       0x00006434 0x1000 + 21556
2   MobileLines                       0x000064c2 0x1000 + 21698
3   UIKit                                 0x30a740ac 0x30a54000 + 131244
4   UIKit                                 0x30a66110 0x30a54000 + 74000
5   UIKit                                 0x30a6565c 0x30a54000 + 71260
6   GraphicsServices               0x3169b0b4 0x31696000 + 20660
7   GraphicsServices               0x3169d818 0x31696000 + 30744
8   IOMobileFramebuffer           0x31f3e8f8 0x31f3d000 + 6392
9   com.apple.framework.IOKit  0x30f342b8 0x30f30000 + 17080
10  CoreFoundation                 0x3025ced4 0x30229000 + 212692
11  CoreFoundation                 0x3025bed6 0x30229000 + 208598
12  CoreFoundation                 0x3025b584 0x30229000 + 206212
13  GraphicsServices              0x316998e4 0x31696000 + 14564
14  UIKit                                0x30a5e308 0x30a54000 + 41736
15  UIKit                                0x30a671dc 0x30a54000 + 78300
16  MobileLines                      0x00002090 0x1000 + 4240
17  MobileLines                      0x0000202c 0x1000 + 4140

二. 问题的原因

其实这里关系到编译后的两个文件:MyApp.app以及MyApp.app.dSYM,如果崩溃的程序正好是这台Mac编译出来的话,并且对应的同时

编译出来的app和dSYM文件还在build目录下的话(即还没编译过其他更新的版本),Orgnizer会把crash文件的函数名解析出来,如果没了的话,就是

光秃秃的地址了,这个时候即使拿同样的代码再次编译,也不能解析出代码信息来了,所以发布的版本一定要保留.app和.dSYM文件。

三. 解决的方法

如果出现了只有地址的情况,只要.app和.dSYM文件还在的话,symbolicatecrash工具就可以把对应的函数名解析出来。 具体使用symbolicatecrash工具

和.app及.dSYM文件,解析函数名的方法如下:

       1. 新建一个专门的目录进行解析处理,如: /crash

       2. 把symbolicatecrash工具从原来的位置拷贝到/crash。因为在framework里面finder不能直接进去,可以用命令行工具进行拷贝,命令如下:

$ cp /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash /crash

       3. 把对应的.app和.dSYM文件拷贝到/crash,再把需要解析的crash文件也拷贝到/crash

       4. 假设crash文件是MyApp_2011-xxx-iPad.crash, .dSYM文件是MyApp.app.dSYM,然后把MyApp.app也和MyApp.app.dSYM文件放在一起,再使用如下命令进行解析:

$ ./symbolicatecrash MyApp_2011-xxx-iPad.crash MyApp.app.dSYM > MyApp_symbol.crash

如果解析成功了,那么就会有函数名了(如下),如果解析不成功那么就是提供的.app和.dSYM文件与报出crashreport的版本不一致的缘故。


Thread 0 Crashed:

0   libobjc.A.dylib                   0x300c87ec objc_msgSend + 20
1   MobileLines                      0x00006434 -[BoardView setSelectedPiece:] (BoardView.m:321)
2   MobileLines                      0x000064c2 -[BoardView touchesBegan:withEvent:] (BoardView.m:349)
3   UIKit                                0x30a740ac -[UIWindow sendEvent:] + 264
4   UIKit                                0x30a66110 -[UIApplication sendEvent:] + 248
5   UIKit                                0x30a6565c _UIApplicationHandleEvent + 4088
6   GraphicsServices              0x3169b0b4 PurpleEventCallback + 428
7   GraphicsServices              0x3169d818 HeartbeatVBLCallback + 152
8   IOMobileFramebuffer          0x31f3e8f8 IOMobileFramebufferNotifyFunc + 124
9   com.apple.framework.IOKit 0x30f342b8 IODispatchCalloutFromCFMessage + 304
10  CoreFoundation                 0x3025ced4 __CFMachPortPerform + 72
11  CoreFoundation                 0x3025bed6 CFRunLoopRunSpecific + 2364
12  CoreFoundation                 0x3025b584 CFRunLoopRunInMode + 44
13  GraphicsServices              0x316998e4 GSEventRunModal + 268
14  UIKit                                0x30a5e308 -[UIApplication _run] + 404
15  UIKit                                0x30a671dc UIApplicationMain + 1064
16  MobileLines                      0x00002090 main (main.m:16)
17  MobileLines                      0x0000202c start + 44


首先查看crash log中的崩溃线程,假如是这样的:

Thread 0 Crashed:
0   libobjc.A.dylib               0x00003ec0 objc_msgSend + 24
1   MyApp               0x000036d2 0×1000 + 9938

我们得到了用户发生崩溃情况的内存地址:0x000036d2

然后回到我们应用程序的build目录,目录下一定要包含MyApp.app 和MyApp.app.dSYM两个文件。

在控制台使用dwarfdump命令,解析出内存地址,如:

dwarfdump –lookup 0x000036d2 –arch armv6 MyApp.app.dSYM

输出信息如下:


点击打开链接


xcrun atos -arch armv7 -o sinavideo.app/sinavideo 0x00076f18

气象水文资料预处理:缺测数据插补延长等 简介气象水文资料预处理 阅读详情

相关推荐

谷粒商城篇章9 ---- P248-P261/P292-P294 ---- 消息队列【分布式高级篇六】

RabbitMQ消息队列、RabbitMQ延时队列。

weixin_48568302的博客 1549

iphone/ipad crash文件分析方法

一. 问题的产生 在xcode的Window->Orgnizer->Device Logs里面可以看到连着的iphone(ipad)设备上面程序crash的记录,但设备上的一个crash记录只能同步一次, 一旦在某台Mac上查看了Device Logs,设备上的crash文件就都会放到这台Mac上。 从Device Logs里面看crash文件,会发现有时候崩溃的信息里面有代

xiaowei4895的专栏 4350

一文读懂世界模型(World Model):AI的“数字大脑”,通往AGI的核心基石

世界模型正成为AI领域的关键技术,它让AI在虚拟环境中模拟物理世界规律并预测行动后果,从而减少现实试错成本。2018年Ha和Schmidhuber提出的VAE+RNN架构奠定基础,2022年后自监督学习推动快速发展。当前世界模型分为潜空间、生成式、强化学习和对象中心四大流派,已在机器人、自动驾驶、工业仿真等领域落地应用。尽管面临长时序预测误差等挑战,未来将向多模态建模、大模型融合等方向发展,成为实现具身智能和通用人工智能的核心基石。

m0_38116472的博客 804

iOS Debug 速查表

转载:https://everettjf.github.io/2016/05/25/my-ios-debug-cheatsheet 逆向过程中命令太多记不住,就整理了这个速查表,分享给大家。我只是看完了小黄书《iOS应用逆向工程》,这几个月没有再深入研究逆向。最近又想逆向几个app学习下怎么实现,发现很多命令都忘记了。于是整理了这个表。copy and paste就可以愉快的学习其他app的实现

不积跬步无以至千里,千里之行始于足下! 1350

逆向拼多多长连接:Frida+Python协议还原实战

长连接是现代移动App实现低延迟、高并发通信的核心技术,其原理在于复用TCP通道避免HTTP频繁建连开销,并通过自定义二进制协议提升传输效率与安全性。在电商场景中,长连接不仅承载业务数据,更集成了动态密钥协商、设备指纹绑定、应用层加密等多重防护机制,显著提升数据窃取与自动化采集难度。本文聚焦真实商业级长连接逆向工程,以拼多多(PDD)v12.86.0为案例,详解如何利用Frida在JNI层精准Hook encrypt/decrypt函数捕获明文,结合Python构建协议解析器与会话管理器,实现对商品详情(I

weixin_30843121的博客 1115

【人工智能AI】是什么?

人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟延伸和扩展人的智能的理论方法技术及应用系统的一门新的技术科学。(百度百科)人工智能的基本原理:机器从「特定的」大量数据中总结规律,形成某些「特定的知识」,然后将这种「知识」应用到现实场景中去解决实际问题。在这个基本原理的基础上,有3个特征:1、人工智能本质上是一种工具2、人工智能技能只能解决特定的问题,而不是什么都能做3、人工智能属于归纳逻辑,可以告诉你是什么,但是不能告诉你为什么。

KJCZ.AK的博客 2万+

Compiling for iOS xxx, but module ‘xxx‘ has a minimum deployment target of iOS

错误原因:iphone或者iPad设置最低运行的版本是ios10.0,但是使用的第三方库,最低运行是ios12.0,因为第三方库最低要求比iPhone或者iPad高,所以运行报错。一直我的iphone iPad设置的target运行ios版本是10.0,查看界面如下,左上角选中自己项目,targets,然后。设置了10.0,现在需要把pod里面的第三方库也设置成10.0以下。可点击Pods,修改 Targets中的所有报错第三方的。即可, 下方代码的作用同时也避免了第三方需要验证签名的问题。

多分享一点点,共同进步一点点 1919

2025必备:C#上位机自动更新方案,支持断点续传与版本回滚(附完整源码)

摘要:工业上位机自动更新方案解析 本文针对工业现场上位机更新效率低下、风险高的问题,提出了一套完整的自动更新解决方案。该方案包含四个核心模块:版本检测(后台比对版本)、断点下载(支持网络中断续传)、安装更新(自动备份旧版本)和版本回滚(更新失败快速恢复)。通过独立更新工具与主程序解耦的设计,实现了"不影响生产+有退路"的工业级更新要求。方案基于.NET Framework开发,采用HTTP协议通信,包含详细的代码实现和工业场景适配说明,解决了U盘更新效率低、网络不稳定导致下载失败、更新后

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 955

ios img标签中的src无法识别 blob:http://xxxxxx 路径格式

ios img标签中的src无法识别 blob:http://xxxxxx 路径格式

weixin_49579700的博客 6564

C盘在同一时间突然多出100g的文件,请问是什么原因,以及是否能删除?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 1755

17、Nimble 包开发与并行编程指南

本文介绍了Nimble包的开发与版本管理流程,涵盖语义化版本控制规范及发布步骤;深入探讨了Nim中的并行编程基础,包括并发与并行的区别、threads模块与threadpool模块的使用方法及其差异;分析了线程执行的不确定性、线程池的优势,并提供了线程同步和资源管理的实践示例,帮助开发者高效构建稳定、高性能的Nim应用程序。

wine的专栏 55

三星 android 手机 device log 目录,Android 的 init.rc 文件简介 (转)

init.rc是在Android的根目录下。init.rc由许多的Action和Service组成。每一个语句占据一行,并且各个关键字被空格分开.由 # (前面允许有空格)开始的行都是注释行(comment)一个actions 或 services 的开始隐含声明了一个新的段,所有commands 或 options 属于最近的声明。在第一个段之前的 commands 或 options 都会被忽...

weixin_32342639的博客 903

《Python等级认证CCF-GESP真题解析》专栏总目录

❤️ 专栏名称:《🌸 专栏介绍:中国计算机学会GESP《CCF编程能力等级谁》Python编程(1~8级)历届真题解析。🚀 订阅专栏:订阅后可阅读专栏内所有真题解析,真题持续更新中,限时9.9元,欢迎订阅!

人生就是一个不断学习的过程 1878

苹果官方 Crash文件分析方法 (iOS系统Crash文件分析方法)

对于提交的苹果官方的app,在审核的时候会给我们一些crash文件,对于这些有用的文件,里面是关于我们的bug的一些信息,那么该如何去调试呢 第一步:在任意目录创建一个目录,用来调试crash,我这里创建一个crash目录 第二步:将之前Archive的文件copy到crash目录里面 其中包括两个文件.app和.app.dSYM 如果找不到的话可以按照下面的步骤进行 先到...

ask0002的博客 567

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

iOS 苹果官方 Crash文件分析方法 (iOS系统Crash文件分析方法)

时间2013-08-20 12:49:20 GoWhich 原文  http://www.gowhich.com/blog/view/id/343 苹果官方 Crash文件分析方法 (iOS系统Crash文件分析方法)  symbolicatecrash路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.pl...

weixin_34343308的博客 276

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ios系统crash文件分析方法

Xcode 4.3的symbolicatecrash的位置和老版本的不一致了。 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/ Xcode 4

09的专栏 1732

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

上一篇: iOS7 UI改变总结
下一篇: ios即时通讯客户端开发之-mac上搭建openfire服务器
focusjava
博客等级 码龄14年 127粉丝 528原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值