如何在Xcode Instruments中选择dSYM/应用以实现符号化?
解决Instruments符号化异常及无法选择.app文件的问题
核心排查与解决步骤
- 直接选择dSYM文件而非.app:不要尝试选中
UnitConversions.app,直接定位对应的.dSYM包。常见路径:- Xcode归档包内:右键Organizer里的归档文件→显示包内容→
Products/Applications/UnitConversions.app.dSYM - 编译产物目录:
~/Library/Developer/Xcode/DerivedData/[项目名]-[随机字符串]/Build/Products/[配置名]-[平台]/UnitConversions.app.dSYM
- Xcode归档包内:右键Organizer里的归档文件→显示包内容→
- 手动添加dSYM到Instruments:
- 打开Instruments的
Settings > Symbols - 点击
+号,直接选中找到的.dSYM文件,添加完成后重启Instruments
- 打开Instruments的
- 验证UUID一致性:dSYM必须和可执行文件UUID匹配,否则符号化无效:
- 终端执行
dwarfdump --uuid /path/to/UnitConversions.app/UnitConversions获取可执行文件UUID - 执行
dwarfdump --uuid /path/to/UnitConversions.app.dSYM获取dSYM的UUID - 两者必须完全一致,不一致则重新编译归档生成匹配的dSYM
- 终端执行
Instruments 15.3版本适配操作
新版本界面简化了标签,按以下步骤操作:
- 启动Instruments并连接设备/模拟器,打开目标追踪模板
- 运行追踪过程中,点击顶部菜单
File > Symbols - 点击窗口左下角的
+,添加dSYM文件或包含dSYM的文件夹(比如DerivedData的Build/Products目录) - 等待Instruments完成索引,重新运行追踪即可看到符号化的代码行
额外排查项
- 优先使用归档的Release版本调试,Debug版本的dSYM与Instruments兼容性较差
- 确保Xcode和Instruments为同一版本(比如均为15.3),避免版本不兼容问题
- 清理DerivedData缓存:终端执行
rm -rf ~/Library/Developer/Xcode/DerivedData,重新编译归档
内容的提问来源于stack exchange,提问作者Brian Sachetta
相关产品推荐
相关产品推荐

