DSYM文件

DSYM文件,第1张

iOS平台中,dSYM文件是指具有调试信息的目标文件,文件名通常为:xxxappdSYM。如下图所示:

为了方便找回Crash对应的dSYM文件和还原堆栈,建议每次构建或者发布APP版本的时候, 备份好dSYM文件

Bugly还原Crash堆栈时,需要根据UUID来匹配符号表文件,因此只有上传的符号表文件的UUID与Crash对应APP的UUID一致时,才能准确地对堆栈进行还原。

通过命令查看UUID

通过符号表文件查看UUID

符号表文件的UUID与dSYM文件的UUID是一致的,因此可以通过符号表工具生成的符号表文件来查看dSYM文件的UUID:

生成符号表文件(zip) ---> 解压符号表文件(symbol) ---> 使用文本编辑器打开符号表文件

其中符号表文件的“UUID”信息即Debug SO文件的UUID,亦是符号表文件的UUID,如果文件较大,建议使用“Sublime Text”等文本编辑器来打开符号表文件。

当我们软件 release 模式打包或上线后,不会像我们在 Xcode 中那样直观的看到用崩溃的错误,这个时候我们就需要分析 crash report 文件了,iOS 设备中会有日志文件保存我们每个应用出错的函数内存地址,通过 Xcode 的 Organizer 可以将 iOS 设备中的 DeviceLog 导出成 crash 文件,这个时候我们就可以通过出错的函数地址去查询 dSYM 文件中程序对应的函数名和文件名。大前提是我们需要有软件版本对应的 dSYM 文件,这也是为什么我们很有必要保存每个发布版本的 Archives 文件了。

符号集是我们对ipa文件进行打包之后,和app文件同级的后缀名为dSYM的文件,这个文件必须使用Xcode进行打包才有。

每一个dSYM文件都有一个UUID,和app文件中的UUID对应,代表着是一个应用。而dSYM文件中每一条崩溃信息也有一个单独的UUID,用来和程序的UUID进行校对。

我们如果不使用dSYM文件获取到的崩溃信息都是不准确的。

符号集中存储着文件名、方法名、行号的信息,是和可执行文件的16进制函数地址对应的,通过分析崩溃的Crash文件可以准确知道具体的崩溃信息。

我们每次Archive一个包之后,都会随之生成一个dSYM文件。每次发布一个版本,我们都需要备份这个文件,以方便以后的调试。进行崩溃信息符号化的时候,必须使用当前应用打包的电脑所生成的dSYM文件,其他电脑生成的文件可能会导致分析不准确的问题。

当程序崩溃的时候,我们可以获得到崩溃的错误堆栈,但是这个错误堆栈都是0x开头的16进制地址,需要我们使用Xcode自带的symbolicatecrash工具来将Crash和dSYM文件进行符号化,就可以得到详细崩溃的信息。

>

好吧,苹果提供了命令行监控的方法,将iPhone连接到Mac电脑的USB,输入特定命令来监听iPhone的所有网络请求。 

请求的内容会写入到一个文件,读取该文件即可获取所有网络请求。 

而该文件需要特定工具才能打开,用WireShark,它再次派上了用场。

——————监控网络请求的步骤—————– 

1将iPhone连接到Mac电脑 

2从Xcode或者iTunes获得iPhone的UUID,一串32位的标示,类似0B6814B3-EB2F-5B85-929D-7C5C5SS8DB64 

3命令行输入rvictl -s [你的手机UUID标示],打开Mac监听 

4命令行输入sudo tcpdump -i rv0 -n -s 0 -w dumpFilepcap tcp,开始向文件写入监控数据

结束监听时,ctrl+c关闭tcpdump进程。 

关闭Mac监听,命令是 rvictl -v [你的手机UUID标示]

——————步骤结束———————–

以下是苹果官方文档

iOS Packet Tracing

iOS does not support packet tracing directly However, if you’re developing for iOS you can take a packet trace of your app in a number of different ways:

If the problem you’re trying to debug occurs on Wi-Fi, you can put your iOS device on a test Wi-Fi network See Wi-Fi Capture for details 

If your app uses >

标题那么长,只是方便大家搜索,因为我找了大半天才将这些总结在一起,先贴出来,供大家参考]

昨天修到一个E431,进水机器。修亮之后提示0187和2201错误 UUID无效

在论坛搜索后,大概知道是密码芯片内部程序错误导致,可以硬刷密码芯片程序,也可以用软件刷SN序列号

我先说下自己的流程:

1、找到E431 对应的密码芯片,型号是U8 PCA24S08D 芯片上标注:P24S08D ,硬刷芯片资料和刷普通BIOS一样,芯片程序论坛有 刷E40的可以用

PS:可以搜索EEPROM或者WP 定位到该密码芯片,我找了10几个不同图纸都可以定位到

2、准备好序列号刷入工具 ,maintenace diskette [UUID刷入工具] , 运行USBFMTPWEXE,插入U盘,就可以制作成启动U盘,和普通引导一样进入,界面如下

3、刷入前,先清除芯片内部保存的UUID,按照教程刷入背面的SN序列号即

4、具体没有了,给大家个链接吧: 密码程序 >

以上就是关于DSYM文件全部的内容,包括:DSYM文件、linux服务器硬盘没有挂载可以查看uuid吗、IOS怎么抓取网络请求包等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9334598.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存