加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xcode – 如何使用atos手动表示崩溃日志

发布时间:2020-12-15 01:50:25 所属栏目:百科 来源:网络整理
导读:在搜索了整个互联网以找到一种方式来表示我从Apple收到的崩溃日志之后,我终于想出了如何在终端中使用atos命令来表示崩溃日志.我有dSYM文件,.app文件和崩溃日志在同一文件夹中,并使用atos -arch armv7 -o APPNAME我已经能够输入内存地址,有时(但很少)一个方法
在搜索了整个互联网以找到一种方式来表示我从Apple收到的崩溃日志之后,我终于想出了如何在终端中使用atos命令来表示崩溃日志.我有dSYM文件,.app文件和崩溃日志在同一文件夹中,并使用atos -arch armv7 -o APPNAME我已经能够输入内存地址,有时(但很少)一个方法名称出现了.说实话,我对终端或崩溃日志没有多少经验.不幸的是,试图用Xcode的组织者来表示崩溃日志已经完全没有了,并且试图在Xcode的包内容中使用symbolicatecrash文件也失败了.所以我在这里,留下了我所知道的唯一其他选择.

现在,我的问题是:如何制作这些内存地址的正面或尾部?我必须输入哪些地址才能到达应用程序崩溃的位置?我90%的方式在那里,我只是不知道哪些地址会给我有价值的信息或哪些是无用的.这里附有一张崩溃日志图片:

任何帮助是极大的赞赏.

解决方法

我的猜测是你看到了Stackoverflow问题中的atos信息(就像我做的那样),但是没有正确计算地址以放入atos.看这里:

iOS crash reports: atos not working as expected

符号地址=幻灯片堆栈地址 – 加载地址

使用otool获取幻灯片地址(通常为0x001000)

otool -arch ARCHITECTURE -l "APP_BUNDLE/APP_EXECUTABLE" | grep -B 3 -A 8 -m 2 "__TEXT"

滚动到崩溃日志的底部,从二进制映像部分(二进制映像下的列表中的第一个地址)获取堆栈地址.

然后使用Mac附带的HEX计算器将其添加(使用程序员视图).最后从崩溃日志中的堆栈跟踪中减去加载地址(在您的情况下,它看起来像0x00012efe).

把它放在atos中以获得导致崩溃的行:

atos -arch armv7 -o YOURAPP.app'/'yourapp' 0xADDRESSFROMABOVE

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读