iOS/MacOS手动还原Crash 符号表

iOS/MacOS手动还原Crash 符号表

  1. 创建一个单独的文件夹,并进入文件夹目录;

  2. 导出symbolicatecrash可执行文件:

Copy
// 执行下面这句命令后,可打印出多个对应文件路径,选择其中一个对应平台的即可 find /Applications/Xcode.app -name symbolicatecrash -type f // 再执行如下命令(就是把symbolicatecrash文件拷贝到当前目录下) cp /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash ./
  1. 把对应的 .dSYM.app.crashsymbolicatecrash放同一目录(就第一步创建的那个文件目录下);

    dSYM文件:在 xcode 打包的时候生成的,此文件与.app 一定要是一起编译出来的,否则还原不了。每改次代码 dSYM 文件都会跟着代码变的,具体的自行搜索了解下。

  2. 设置环境变量(为了方便也可以把这个环境变量直接加到你的 shell 脚本中,就省去了每次临时设置这个):

Copy
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
  1. 还原符号表并导出崩溃日志:
Copy
// plCrashReporter.crashlog与.dSYM 都换成你的对应日志文件名,最后app.log为导出文件名 ./symbolicatecrash plCrashReporter.crashlog xxxx.dSYM > app.log
  1. 还原前后对比:

  2. 还原单行符号:

Copy
➜ DebugTool atos -o "/Users/***/Library/Developer/Xcode/DerivedData/AirBrush_Studio-cdjktcizyjzkvygdwgsdszjtrfnu/Build/Products/Debug/AirBrush Studio.app/Contents/MacOS/AirBrush Studio" -arch x86_64 -l 0x106136000 0x00000001067b78ee closure #1 in (in AirBrush Studio) (main.swift:13) ➜ DebugTool // 0x106136000 是bundle的内在地址(在崩溃日志中的Binary Images中找到 // 0x00000001067b78ee 是你要还原的对应行符号地址,例如 38 com.pixocial.airbrushstudio 0x00000001067b78ee closure #1 in + 254
posted @   热血文码士  阅读(939)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本

打赏

>>

欢迎打赏支持我 ^_^

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示