symbol崩溃找不到任何符号



我正在运行XCode 4.5.2,在使符号崩溃工作时遇到问题。

请注意,这是针对一个应用程序和dsym的,它们不是在我的系统上生成的,也不在存档中。

到目前为止,我已经:

  1. 导出DEVELOPER_DIR=/Applications/Xcode.app sudo Xcode select
  2. sudo xcode select-switch/Applications/xcode.app/Contents/Developer
  3. cd/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DDeveloper/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources
  4. /symbolicatcrash-v-o test.txt ~/Downloads/OnDeckCrash/OnDeck_2012-11-26-152754_Andys-phone.crash~/Downdownloads/OnDeck crash/On-Deck.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包位于同一目录中。我还尝试将symbolicalcrash添加到我的路径中,并从.dSYM和.app所在的目录执行。这没什么区别。

关于如何让它发挥作用,有什么建议吗?

我今天遇到了同样的问题。在我的案例中,mdfind无法搜索Archives(/Users/xxx/Library/Developer/Xcode/Archives/)文件夹。所以我所做的就是进入系统首选项->聚光灯->隐私,添加然后删除档案文件夹。重新启动Xcode或重新符号化

mdfind在symbolicalcrash中用于查找相对于带有uuid的崩溃文件的dsym在您的情况下是

mdfind "com_apple_xcode_dsym_uuids == E30FC309-DF7B-3C9F-8AC5-7F0F6047D65F"

你也可以运行

mdfind "com_apple_xcode_dsym_uuids == *"

列出mdfind知道的所有dsym位置。这会让你知道你的dsym是否在列表中

也为你的dsym运行这个来获取你的应用程序的uuid

dwarfdump --uuid xxx.app.dSYM/| tr '[:upper:]' '[:lower:]' | tr -d '-'

这个问题与如何告诉Spotlight为我的.dSYM捆绑包编制索引有关?

我曾试图在我的~/库中强制导入dSYM,但没有成功,所以答案是:

FINAL SOLUTION
Configure Xcode so that the archive folder is located outside of ~/Library.

如果你从未将崩溃的设备连接到你的计算机,那么你就没有这个设备的符号文件。这就是为什么symbolicalcrash找不到系统库的dsym文件的原因。

只需将您的设备连接到计算机,然后等待xcode下载符号文件。

在第4行,最后一个参数应该是包含.app和.dSYM的目录。至少当我从命令行运行symbolicatecrash脚本时,我会这样做。

最新更新