iOS DSYM文件的原理和使用

2025-03-09  本文已影响0人  lukyy

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 文件分析和修复 iOS 应用中的崩溃问题。


引用如下:

Xcode自带工具symbolicatecrash解析Crash文件

上一篇 下一篇

猜你喜欢

热点阅读