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

查看:802
本文介绍了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

除了未找到之外,这应至少提供一些信息。

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

我想这是dSYM已损坏。通常,您可能希望使用崩溃报告器,该报告器为您提供包含所有线程和最后异常回溯信息的完整崩溃报告。我建议使用基于PLCrashReporter的东西,例如QuincyKit(Mac上的开源SDK +服务器+符号)或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天全站免登陆