Atos不能从归档应用程序的dSYM获取符号 [英] Atos cannot get symbols from dSYM of archived application

查看:2654
本文介绍了Atos不能从归档应用程序的dSYM获取符号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有来自 BugSense 的崩溃报告,因此我有关于崩溃的内存位置的信息,但它们不是象征性的。另外Bug Sense不发送传统的崩溃报告,但仍然给我一个bugtrace。所以我试图使用Atos来获取我的崩溃的确切位置。我已经存档在XCode 4的应用程序,并使用该版本提交到应用程序商店,所以我有一个dSYM文件。我已运行以下代码:

  atos -arch armv7 -o MyApp.app.dSYM 0x001057e9 
pre> atos无法加载文件的符号MyApp.app.dSYM用于架构armv7

有关为什么会发生这种情况的任何建议?

解决方案

正确地从归档应用程序的dSYM文件获取符号,并从中获取有用的信息您的BugSense崩溃报告(或任何其他崩溃报告):


  1. 将堆栈跟踪从BugSense复制到TextEdit或任何其他文本编辑器。确保使用剪贴板图标,而不是简单地复制文本。否则,您将无法获得堆栈跟踪的实际内存位置,这是使用 atos 查找引用并用符号表示堆栈跟踪所必需的。

  2. 打开XCode并转到管理器

  3. 查找您的存档,然后右键单击它,在寻找程序中打开它。

  4. 浏览至档案目录,通常是〜/ Library / Developer / XCode / Archives / YYYY-MM-DD /

  5. 到特定的归档文件,然后 dSYMs 文件夹

  6. 您将看到文件 MyApp.app.dSYM ,你可能认为,这是我应该运行 atos 的文件!这是不正确的。 实际上是另一个包! cd 到此包中,进入文件夹: MyApp.app.dSYM / Contents / Resources / DWARF ,你会发现另一个文件,简单地称为 MyApp 。这是实际的dSYM文件。

  7. 运行 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):

  1. 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.
  2. Open XCode and go to the Organizer
  3. Find your archive and right-click it, go to open it in the finder.
  4. Navigate to the directory of the archive, usually ~/Library/Developer/XCode/Archives/YYYY-MM-DD/
  5. Go into the specific archive, and then the dSYMs folder
  6. You will see the file MyApp.app.dSYM and you may think, this is the file that I should run atos 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 called MyApp. This is the actual dSYM file.
  7. Run atos -arch armv7 -o MyApp 0x0000000 (or whatever the memory address is) to find the location of your error, or simply atos -arch armv7 -o MyApp to enter interactive mode.

这篇关于Atos不能从归档应用程序的dSYM获取符号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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