我正在运行XCode 4.5.2并且在使symbolicatecrash工作时遇到了问题。
请注意,这是针对我的系统上未生成且未存档的app和dsym。
到目前为止我已经:
这没有创建“test.txt”。 它似乎根本无法找到任何符号。 它为每个模块报告这样的事情:
...........fetching symbol file for CoreFoundation--[undef]
Searching []...-- NO MATCH
Searching in Spotlight for dsym with UUID of e30fc309df7b3c9f8ac57f0f6047d65f
Running mdfind "com_apple_xcode_dsym_uuids == E30FC309-DF7B-3C9F-8AC5-7F0F6047D65F"
@dsym_paths = ( )
@exec_names = ( )
Did not find executable for dsym
## Warning: Can't find any unstripped binary that matches version of /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
请注意,应用包与mSYM包位于同一目录中。 我也尝试将symbolicatecrash添加到我的路径,并从.dSYM和.app所在的目录执行。这没有任何区别。
有关如何使其发挥作用的任何建议吗?
答案 0 :(得分:9)
我今天遇到了同样的问题。在我的情况下,mdfind无法搜索Archives(/ Users / xxx / Library / Developer / Xcode / Archives /)文件夹。所以我做的是去了系统偏好 - > Spotlight->隐私,添加然后删除了Archives文件夹。重新启动Xcode或重新符号
在symbolicatecrash中使用mdfind来查找与uuid相关的崩溃文件的dsym 在你的情况下
mdfind "com_apple_xcode_dsym_uuids == E30FC309-DF7B-3C9F-8AC5-7F0F6047D65F"
你也可以运行
mdfind "com_apple_xcode_dsym_uuids == *"
列出mdfind知道的所有dsym位置。如果您的dsym不在列表中,这将为您提供想法
还为你的dsym运行这个来获取你的应用程序
的uuiddwarfdump --uuid xxx.app.dSYM/| tr '[:upper:]' '[:lower:]' | tr -d '-'
答案 1 :(得分:1)
此问题与How can I tell Spotlight to index my .dSYM bundles?
有关我试图在我的〜/ Library中强制输入dSYM,但没有成功,所以答案是:
FINAL SOLUTION
Configure Xcode so that the archive folder is located outside of ~/Library.
答案 2 :(得分:1)
如果您从未将崩溃的设备连接到计算机,则表示您没有此设备的符号文件。这就是为什么symbolicatecrash无法找到系统库的dsym文件。
只需将设备连接到计算机并等待xcode即可下载符号文件。
答案 3 :(得分:0)
在第4行,最后一个参数应该是包含.app和.dSYM的目录。至少这是我从命令行运行symbolicatecrash
脚本时所做的事情。