我正在尝试诊断iOS应用程序的崩溃。这里的其他人建议使用atos
命令来执行此操作,如以下命令:
atos -arch armv7 -o ''/'appname.app.dSYM'
symbolicatecrash "appname_2011-08-03-111047_Test-iPhone.crash" "apname.app"
但是,当我尝试此操作时,命令失败并显示错误
atos无法加载文件的符号
可能导致此错误的原因,我该如何解决?另外,这是从崩溃日志中确定iOS应用程序中崩溃的内存位置的正确方法吗?
答案 0 :(得分:3)
dSYM文件/目录必须是构建提交的应用商店版本时创建的完全相同的文件。即使是使用完全相同的代码库构建的另一个也不会与崩溃日志匹配。
一些可能的原因:
如果您的计算机上有任何正确的dSYM(并且安装了正确的iOS调试信息),则Xcode会自动找到它并在导入崩溃日志时创建崩溃日志的符号副本。它使用聚光灯来查找在构建时生成的唯一字符串(这就是为什么需要匹配的确切版本)。请注意,匹配的.app文件也需要存在。
最佳做法是构建和测试发布版本,然后重新签名以进行提交(而不是为应用商店签名提交单独的版本)。这样你就可以在正确的地方保存正确的.app和.dSYM。我将它们放在源代码管理中并用版本号标记它。