symbolicatecrash无法找到任何符号

时间:2012-12-06 18:41:18

标签: ios xcode symbolicatecrash

我正在运行XCode 4.5.2并且在使symbolicatecrash工作时遇到了问题。

请注意,这是针对我的系统上未生成且未存档的app和dsym。

到目前为止我已经:

  1. export 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/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources
  4. ./ symbolicatecrash -v -o test.txt~ / Downloads / OnDeckCrash / OnDeck_2012-11-26-152754_Andys-phone.crash~ / Downloads / OnDeckCrash / OnDeck.app.dSYM
  5. 这没有创建“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所在的目录执行。这没有任何区别。

    有关如何使其发挥作用的任何建议吗?

4 个答案:

答案 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运行这个来获取你的应用程序

的uuid
dwarfdump --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脚本时所做的事情。