美文网首页
iOS DSYM文件的原理和使用

iOS DSYM文件的原理和使用

作者: lukyy | 来源:发表于2025-03-09 09:57 被阅读0次

1.dSYM 文件的原理

dSYM(Debug Symbols)文件是 iOS 和 macOS 开发中用于存储调试符号的文件。它包含了应用程序编译时生成的调试信息,如函数名、类名、行号等。这些信息在开发和调试过程中非常有用,但在发布版本中通常会被剥离以减小应用体积。

当应用崩溃时,崩溃日志中记录的是内存地址而不是具体的代码行。为了将这些内存地址转换为可读的代码行,需要使用 dSYM 文件。dSYM 文件与特定的应用版本和构建配置相关联,因此必须使用与崩溃日志匹配的 dSYM 文件。

DSYM.zip 下载 & Crash 解析 脚本

2.获取 dSYM 文件

打开 Xcode:选择 Window -> Organizer。
在 Archives 选项卡中,选择相应的归档版本。
右键点击归档版本,选择 Show in Finder。
在 Finder 中,右键点击 .xcarchive 文件,选择 Show Package Contents。
在 dSYMs 文件夹中可以找到 dSYM 文件。

3. 符号化崩溃日志

使用 symbolicatecrash 工具:
  1. 找到 symbolicatecrash 工具的路径,通常在 Xcode 的开发者目录中,打开终端,使用命令:
find /Applications/Xcode.app -name symbolicatecrash -type f 

//输出如下结果(两个路径A/B): /Applications/Xcode.app/Contents/SharedFrameworks/AssetRuntime/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

  1. 设置 DEVELOPER_DIR 环境变量:
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"
  1. 使用 symbolicatecrash 工具符号化崩溃日志(必备的3个文件):
    1.xxx.crash 后缀名的文件
    2.xxx.app.dSYM 后缀名的文件
    3.xxx.app 文件
/path/to/symbolicatecrash /path/to/crashlog.crash /path/to/YourApp.dSYM > symbolicated.crash
  1. 查看符号化后的崩溃日志文件 symbolicated.crash,其中包含了具体的代码行和崩溃原因。
使用 Xcode查看崩溃日志:

打开 Xcode,选择 Window -> Devices and Simulators。
在 Devices 选项卡中,选择已连接的设备,点击 View Device Logs。
将崩溃日志拖放到 Xcode 中,Xcode 会自动尝试符号化日志。

4. 自动符号化

通过 iTunes Connect:如果应用通过 TestFlight 分发,崩溃报告会自动上传到 iTunes Connect,并自动符号化。

通过第三方工具:如 Firebase Crashlytics、Sentry 等,可以自动上传 dSYM 文件并符号化崩溃日志。

总结

  • 生成 dSYM 文件:确保在 Xcode 的构建设置中启用了 dSYM 文件的生成,并在 Release 模式下构建应用。

  • 获取 dSYM 文件:通过 Xcode Organizer 或手动从构建输出目录中获取 dSYM 文件。

  • 符号化崩溃日志:使用 symbolicatecrash 工具或 Xcode 将崩溃日志符号化,获取具体的代码行和崩溃原因。

  • 自动符号化:通过 iTunes Connect 或第三方工具自动上传和符号化崩溃日志。

通过这些步骤,开发者可以有效地利用 dSYM 文件分析和修复 iOS 应用中的崩溃问题。


引用如下:

Xcode自带工具symbolicatecrash解析Crash文件

相关文章

  • DSYM文件

    什么是dSYM文件? iOS平台中,dSYM文件是指具有调试信息的目标文件,文件名通常为:xxx.app.dSYM...

  • iOS崩溃crash解析--dSYM使用

    写在前面这个是使用dSYM遇到的一些坑,具体的dSYM原理等请参看iOS崩溃crash大解析 开车了 最近我们 a...

  • 友盟上传dsym文件

    做了三年多iOS开发,终于知道了如何上传dsym文件,惭愧 点击上传dsym文件即可

  • iOS 崩溃日志分析

    个人对iOS崩溃日志分析的使用记录。 一、无dsym文件:参考链接: https://www.cnblogs.co...

  • symbolicatecrash及atos命令

    根据 dSYM 文件和 .crash文件,分析崩溃原因要保证.dSYM 文件的 uuid 和.crash 文件的 ...

  • 对于iOS App打包后dSYM文件找不到?解决方案

    dSYM文件 dSYM文件保存了调试信息的文件,方便App在线上用户使用时,发生Crash后,进行函数调用堆栈还原...

  • 解决iOS App打包后dSYM文件找不到的问题

    dSYM文件 dSYM文件保存了调试信息的文件,方便App在线上用户使用时,发生Crash后,进行函数调用堆栈还原...

  • 3.Xcode方面问题

    1.iOS崩溃日志分析 iOS 获得crash dSYM方法(手机本地连接方式) [iOS Crash文件分析]-...

  • 常用命令

    1. dsym文件压缩成tgz文件命令 与dsym文件同级目录下使用 查看mac的隐藏文件,TRUE显示 隐藏Ma...

  • iOS Crash 符号化与分析

    iOS Crash 符号化与分析 1.crash文件与dSYM文件的UUID crash文件的UUIDBinary...

网友评论

      本文标题:iOS DSYM文件的原理和使用

      本文链接:https://www.haomeiwen.com/subject/ojadmjtx.html