我想尝试和象征我的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选项——把它去掉)。

其他回答

只是xcode 6.1.1的一个简单更新的答案。

步骤

xcode 1. >窗口>设备。

2.从设备部分下的设备列表中选择一个设备。

3.选择“查看设备日志”。

4.在All Logs部分下,您可以直接拖放report.crash

5.Xcode会自动为你生成崩溃报告。

6.您可以通过将符号化崩溃报告的日期/时间与崩溃报告中提到的日期/时间匹配来找到符号化崩溃报告。

我不得不对symbolicatecrash脚本进行大量的修改,以使其正常运行。

据我所知,symbolicatcrash现在要求.app和.dsym在同一个目录下。它将使用.dsym来定位.app,但不会使用dsym来查找符号。

在尝试这些补丁之前,你应该复制你的符号化崩溃,这将使它看起来在dsym:

getSymbolPathFor_dsymUuid函数的第212行左右

212     my @executablePath = grep { -e && ! -d } glob("$dsymdir" . "/Contents/Resources/DWARF/" . $executable);

matchesUUID函数的第265行左右

265             return 1;

尽管我已经开发了几年的应用程序,这是我第一次调试二进制文件,我觉得自己像一个完全的NOOB,弄清楚所有的文件在哪里,即*在哪里。应用程序*。dSYM和崩溃日志?为了弄清楚这个问题,我不得不阅读多篇文章。图片胜过千言万语,我希望这篇文章能在将来对其他人有所帮助。

1-首先去itunesconnect下载你的崩溃日志。 注意:在大多数情况下,您可能会得到类似于“提交的报告太少而无法显示报告”的内容。基本上没有足够多的用户向苹果提交崩溃日志报告,在这种情况下,你什么都做不了。

2-现在如果你没有改变你的代码,因为你已经提交了你的二进制文件给苹果,然后启动Xcode的项目,并再次执行Product -> Archive。否则,只需找到您最近提交的二进制文件,并右键单击它。

我使用以下步骤成功地做到了这一点。

第一步:在桌面上创建一个文件夹,我给它命名为“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选项——把它去掉)。

使用Xcode 4,任务更简单:

开放的组织者, 单击左列的Library | Device Log 点击屏幕底部的“导入”按钮…

瞧。日志文件将自动导入并被符号化。如果你先使用Xcode -> Product -> Archive存档构建。