我想尝试和象征我的iPhone应用程序的崩溃报告。
我从iTunes Connect上找到了崩溃报告。我有提交给App Store的应用程序二进制文件,我有作为构建的一部分生成的dSYM文件。
我将所有这些文件放在一个目录中,该目录以spotlight为索引。
现在该做什么?
我试着引用:
symbolicatecrash crashreport.crash myApp.app.dSYM
它只输出与崩溃报告开始时相同的文本,没有符号。
我做错什么了吗?
我想尝试和象征我的iPhone应用程序的崩溃报告。
我从iTunes Connect上找到了崩溃报告。我有提交给App Store的应用程序二进制文件,我有作为构建的一部分生成的dSYM文件。
我将所有这些文件放在一个目录中,该目录以spotlight为索引。
现在该做什么?
我试着引用:
symbolicatecrash crashreport.crash myApp.app.dSYM
它只输出与崩溃报告开始时相同的文本,没有符号。
我做错什么了吗?
当前回答
我使用以下步骤成功地做到了这一点。
第一步:在桌面上创建一个文件夹,我给它命名为“CrashReport”,并放三个文件(“MYApp. exe”)。应用程序”、“MyApp.app。“MYApp_2013-07-18.crash”)。
第二步:打开查找器,进入应用程序,在那里你会找到Xcode应用程序,右键单击这个,然后单击“显示包内容”,在这之后按照这个简单的路径。 “内容- >开发人员- >平台- > iPhoneOS.platform - >开发- >库- > PrivateFrameworks - > DTDeviceKit.framework - >版本- > - >资源”
OR
“内容- >开发人员- >平台- > iPhoneOS.platform - >开发- >库- > PrivateFrameworks - > DTDeviceKitBase.framework - >版本- > - >资源”
OR
对于Xcode 6及以上版本,路径为 应用程序/ xcode /内容/ SharedFrameworks / DTDeviceKitBase.framework /版本/ /资源
在你找到“symbolicatcrash”文件的地方,复制并粘贴到“CrashReport”文件夹。
第三步:启动终端,运行这3条命令
cd /Users/mac38/Desktop/CrashReport,按“Enter”键 出口DEVELOPER_DIR = " /应用程序/ Xcode。app/Contents/Developer”,按“Enter” ./ symbolicatcrash -A -v MYApp_2013-07-18.使用实例崩溃MyApp.app.dSYM,然后按Enter现在它完成了。(注意:6.4或更高版本没有-A选项——把它去掉)。
其他回答
为了表示崩溃,Spotlight必须能够找到与您提交给Apple的二进制文件同时生成的. dsym文件。由于它包含符号信息,如果它不可用,那么您就不走运了。
我在我的应用程序中使用Airbrake,它在远程错误记录方面做得相当不错。
下面是我如何用atos来表示它们,如果回溯需要的话:
In Xcode (4.2) go to the organizer, right click on the archive from which the .ipa file was generated. In Terminal, cd into the xcarchive for instance MyCoolApp 10-27-11 1.30 PM.xcarchive Enter the following atos -arch armv7 -o 'MyCoolApp.app'/'MyCoolApp' (don't forget the single quotes) I don't include my symbol in that call. What you get is a block cursor on an empty line. Then I copy/paste my symbol code at that block cursor and press enter. You'll see something like: -[MyCoolVC dealloc] (in MyCoolApp) (MyCoolVC.m:34) You're back to a block cursor and you can paste in other symbols.
能够在不重新进入第一个位的情况下回溯一个项目是一个很好的节省时间的方法。
享受吧!
我喜欢使用Textwrangler来精确定位原始应用程序上传二进制拒绝中的错误。(崩溃数据将在你的itunesConnect账户中找到。)使用上面萨钦的方法,我复制了原文。崩溃到TextWrangler,然后复制符号崩溃文件,我已经创建到另一个TextWrangler文件。比较这两个文件可以发现不同之处。符号崩溃文件将有差异,指出文件和行数的问题。
尽管我已经开发了几年的应用程序,这是我第一次调试二进制文件,我觉得自己像一个完全的NOOB,弄清楚所有的文件在哪里,即*在哪里。应用程序*。dSYM和崩溃日志?为了弄清楚这个问题,我不得不阅读多篇文章。图片胜过千言万语,我希望这篇文章能在将来对其他人有所帮助。
1-首先去itunesconnect下载你的崩溃日志。 注意:在大多数情况下,您可能会得到类似于“提交的报告太少而无法显示报告”的内容。基本上没有足够多的用户向苹果提交崩溃日志报告,在这种情况下,你什么都做不了。
2-现在如果你没有改变你的代码,因为你已经提交了你的二进制文件给苹果,然后启动Xcode的项目,并再次执行Product -> Archive。否则,只需找到您最近提交的二进制文件,并右键单击它。
对于那些使用Airbrake的人,上面有一个可靠的回应,但如果不进行调整,它对我来说是无效的:
工作的一些内存地址,但不是其他人,不确定为什么…
在桌面或任何地方创建新目录 在Xcode管理器中找到有问题的存档 双击在查找器中显示 双击显示捆绑包内容 复制。dsym文件和。app文件到新目录 CD进入新目录 atos -arch armv7 -o 'Vimeo.app'/'Vimeo' 终端将进入交互移动 粘贴内存地址并按enter键,它将输出方法名称和行号 或者,输入以下命令:atos -arch armv7 -o 'Vimeo.app'/'Vimeo' 只获取一个地址的信息