我试图用symbolicatecrash,且有趣的结果。的同事,内置另一台机器上我们的分销身材,让他送我的dSYM文件。运行后的symbolicatecrash文件中找到

/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash

它填补了所有的苹果功能,但不是我的。这个问题似乎是它不能(或不愿)找到的dSYM文件,可能是因为它有它在我的同事的机器信息。当我从崩溃报告复制十六进制地址,我可以使用dwarfdump这样的:

dwarfdump --lookup 0x0001f892 --arch ARMv6的路径/到/ MyApp.app.dSYM

这使我该单个呼叫的线路号码正确。此外,symbolicatecrash能够从我们的代码工作了本场比赛的行号,而不是苹果。我不知道为什么他不能看到苹果的东西,但是这一切使我相信这个问题是寻找的dSYM,如前面提到的。

因此。有没有什么办法,只是传递的dSYM的路径进入symbolicatecrash命令,或使其工作的一些其他的方式?因为,严重的是,它是完全愚蠢作出工具,做某种神奇的“搜索”为您的文件,只是没有找到它,因为它不希望。

此外,任何想法,为什么我的同事的版本将不会显示任何的苹果公司的功能是什么? 虽然我在这里,什么是“+”指的是在崩溃的文件吗?像这样:

0x00059f8c - [一个UIWindow的SendEvent:] + 108

有帮助吗?

解决方案

symbolicatecrash是一个巨大的黑客,你能做的最好是学会做事,正是因为它从你的期望。或阅读它的内部并修复它,但你将不得不重新修复它在未来SDK更新...

在这种情况下,我认为你的问题是,你没地方的dSYM文件在同一文件夹中的应用程序包。它必须是完全一样的XCode离开它,它应该是在聚光灯下会发现它的位置。此外,确保该名称完全一样期待 - “的dSYM”的确切外壳是很重要的,而且我听说,没有点在应用程序名称由错误引起的支持

当有疑问总是试图-v选项获得更详细的错误传递消息。

有对苹果的二进制没有行号信息,个人我超级高兴得到至少函数名。本来会更糟。

在 “ - [一个UIWindow的SendEvent:] + 108” 装置108个从功能的开始字节。这个数据的唯一有用的解释是,如果数量少,它可能准确,如果数量大的symbolication是捶出来。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top