Atos不能从归档应用程序的dSYM获取符号 [英] Atos cannot get symbols from dSYM of archived application
问题描述
我有来自 BugSense 的崩溃报告,因此我有关于崩溃的内存位置的信息,但它们不是象征性的。另外Bug Sense不发送传统的崩溃报告,但仍然给我一个bugtrace。所以我试图使用Atos来获取我的崩溃的确切位置。我已经存档在XCode 4的应用程序,并使用该版本提交到应用程序商店,所以我有一个dSYM文件。我已运行以下代码:
atos -arch armv7 -o MyApp.app.dSYM 0x001057e9
$但是,我没有得到正确的输出,我收到一个错误: pre> atos无法加载文件的符号MyApp.app.dSYM用于架构armv7
有关为什么会发生这种情况的任何建议?
正确地从归档应用程序的dSYM文件获取符号,并从中获取有用的信息您的BugSense崩溃报告(或任何其他崩溃报告):
- 将堆栈跟踪从BugSense复制到TextEdit或任何其他文本编辑器。确保使用剪贴板图标,而不是简单地复制文本。否则,您将无法获得堆栈跟踪的实际内存位置,这是使用
atos
查找引用并用符号表示堆栈跟踪所必需的。 - 打开XCode并转到管理器
- 查找您的存档,然后右键单击它,在寻找程序中打开它。
- 浏览至档案目录,通常是
〜/ Library / Developer / XCode / Archives / YYYY-MM-DD /
- 到特定的归档文件,然后
dSYMs
文件夹 - 您将看到文件
MyApp.app.dSYM
,你可能认为,这是我应该运行atos
的文件!这是不正确的。 实际上是另一个包!cd
到此包中,进入文件夹:MyApp.app.dSYM / Contents / Resources / DWARF
,你会发现另一个文件,简单地称为MyApp
。这是实际的dSYM文件。 - 运行
atos -arch armv7 -o MyApp 0x0000000
(或任何内存地址)您错误的位置,或只是atos -arch armv7 -o MyApp
即可进入互动模式。
I have a crash report from BugSense, so I have information on the memory location of crashes but they are not symbolicated. Also Bug Sense does not send traditional crash reports but still gives me a bugtrace. So I am trying to use Atos to get the exact location of my crashes. I have archived the app in XCode 4 and used that version to submit to the app store, so I have a dSYM file. I have run the following code:
atos -arch armv7 -o MyApp.app.dSYM 0x001057e9
However, instead of getting the proper output, I am receiving an error:
atos cannot load symbols for the file MyApp.app.dSYM for architecture armv7
Any suggestions as to why this might be happening? I am not stripping debug symbols from the app.
To properly get symbols from your archived app's dSYM file and get useful information from your BugSense crash reports (or any other crash reports for that matter):
- Copy the stack trace from BugSense into TextEdit or any other text editor. Make sure to use the "clipboard" icon, rather than simply copying the text. Otherwise you will not get the actual memory locations of the stack trace, which are necessary to look up the references using
atos
and symbolicate your stack trace. - Open XCode and go to the Organizer
- Find your archive and right-click it, go to open it in the finder.
- Navigate to the directory of the archive, usually
~/Library/Developer/XCode/Archives/YYYY-MM-DD/
- Go into the specific archive, and then the
dSYMs
folder - You will see the file
MyApp.app.dSYM
and you may think, this is the file that I should runatos
against! This is incorrect. It is actually another package!cd
into this package, into the folder:MyApp.app.dSYM/Contents/Resources/DWARF
and you will find another file simply calledMyApp
. This is the actual dSYM file. - Run
atos -arch armv7 -o MyApp 0x0000000
(or whatever the memory address is) to find the location of your error, or simplyatos -arch armv7 -o MyApp
to enter interactive mode.
这篇关于Atos不能从归档应用程序的dSYM获取符号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!