symbolicatecrash 找不到任何符号
Posted
技术标签:
【中文标题】symbolicatecrash 找不到任何符号【英文标题】:symbolicatecrash is unable to find any symbols 【发布时间】:2012-12-06 18:41:18 【问题描述】:我正在运行 XCode 4.5.2,但在使 symbolicatecrash 正常工作时遇到问题。
请注意,这是针对不是在我的系统上生成且不在存档中的应用和 dsym。
到目前为止,我已经:
-
导出 DEVELOPER_DIR=/Applications/Xcode.app sudo xcode-select
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources
./symbolicatecrash -v -o test.txt ~/Downloads/OnDeckCrash/OnDeck_2012-11-26-152754_Andys-phone.crash ~/Downloads/OnDeckCrash/OnDeck.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 所在的目录执行。这没什么区别。
关于如何让它工作的任何建议?
【问题讨论】:
【参考方案1】:我今天也遇到了同样的问题。在我的情况下,mdfind 无法搜索 Archives (/Users/xxx/Library/Developer/Xcode/Archives/) 文件夹。所以我所做的是转到系统偏好设置-> 聚光灯-> 隐私,添加然后删除档案文件夹。重启 Xcode 或重新符号化
mdfind 在 symbolicatecrash 中用于查找相对于带有 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 '-'
【讨论】:
【参考方案2】:此问题与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.
【讨论】:
【参考方案3】:如果您从未将崩溃的设备连接到您的计算机,则说明您没有此设备的符号文件。这就是 symbolicatecrash 找不到系统库的 dsym 文件的原因。
只需将您的设备连接到计算机并等待 xcode 下载符号文件。
【讨论】:
【参考方案4】:在第 4 行,最后一个参数应该是包含 .app 和 .dSYM 的目录。至少当我从命令行运行symbolicatecrash
脚本时,我就是这样做的。
【讨论】:
嗯,这有点帮助。对于大多数符号,它仍然“找不到任何未剥离的二进制文件......”,但现在它得到“/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo:无法确定我的 dSYM 和应用程序文件的架构类型:...”。以上是关于symbolicatecrash 找不到任何符号的主要内容,如果未能解决你的问题,请参考以下文章
NASM 和 GDB 符号:“在符号文件中找不到任何代码段。”