atos 和 dwarfdump 不会象征我的地址 [英] atos and dwarfdump won't symbolicate my address

查看:12
本文介绍了atos 和 dwarfdump 不会象征我的地址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我通过 AirBrake.io 收到了一份没有符号化的崩溃报告.由于崩溃报告的格式与 Apple 崩溃日志的格式不完全相同,我不能像往常一样将它放在 XCode 上,所以我从我的 XCode 存档中获取了完全相同的构建,试图在命令行上对其进行符号化.结果如下:

I received a crash report via AirBrake.io that isn't symbolicated. Since the crash report is not in exactly the same format as an Apple crashlog I can't just drop it on XCode as usual, so I took the exact same build from my XCode archive tried to symbolicate it on the commandline. With the following result:

$ atos -o kidsapp.app/kidsapp 0x0002fc4c
0x0002fc4c (in kidsapp)

我绝对确定我使用的是与崩溃报告来源相同的版本.所以我也尝试过 dwarfdump:

I'm absolutely sure I'm using the same build as the crash report is from. So I also tried with dwarfdump:

$ dwarfdump --lookup 0x0002fc4c --arch armv7 kidsapp.app.dSYM
----------------------------------------------------------------------
 File: kidsapp.app.dSYM/Contents/Resources/DWARF/kidsapp (armv7)
----------------------------------------------------------------------
Looking up address: 0x000000000002fc4c in .debug_info... not found.
Looking up address: 0x000000000002fc4c in .debug_frame... not found.

也没有结果.除了使用错误的 dSYM 文件之外,还有什么我可能做错的吗?我知道这是正确的,因为这是 AirBrake 崩溃报告中提到的版本,它在我的 XCode 存档中.

Also no result. Is there anything else besides using the wrong dSYM file that I could do wrong? I know it's the correct one since this is the version referred in the crash report in AirBrake and it's in my XCode archive.

欢迎任何想法/提示!

推荐答案

首先检查 dSYM 是否真的适合该应用程序:

First of all check if the dSYM is really the correct one for that app:

dwarfdump --uuid kidsapp.app/kidsapp
dwarfdump --uuid kidsapp.app.dSYM

两者都应该返回相同的结果.

Both should return the same result.

接下来检查 dSYM 是否有任何有效内容

Next check if the dSYM has any valid content

dwarfdump --all kidsapp.app.dSYM

这应该至少提供一些信息,除了not found.

This should give at least some info, other than not found.

我猜 dSYM 已损坏.通常,您可能希望使用崩溃报告器,它为您提供包含所有线程和最后异常回溯信息的完整崩溃报告.我建议使用基于 PLCrashReporter 的东西,例如QuincyKit(开源 SDK + 服务器 + Mac 上的符号)或 HockeyApp(开源 SDK + 付费服务 + 服务器端符号)(注意:我是这两个开发者之一!)

I guess that the dSYM is corrupt. In general you might want to use a crash reporter that gives you a full crash report with all threads and last exception backtrace information. I recommend using something based on PLCrashReporter, e.g. QuincyKit (Open Source SDK + Server + symbolication on your mac) or HockeyApp (Open Source SDK + Paid service + server side symbolication) (Note: I am one of the developers both!)

这篇关于atos 和 dwarfdump 不会象征我的地址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆