___lldb_unnamed_function在符号化的崩溃日志中

Vla*_*rov 9 xcode crash-log ios xcode4 xcode5

我在iPhone OS 7.0.4上生成了崩溃日志.我有适当的.app和.dSYM文件.当我使用Xcode 5表示崩溃日志时,它会显示如下:

Thread 0 Crashed:
0   MyProject          0x001df98a ___lldb_unnamed_function6108$$MyProject + 42
1   MyProject          0x001e0c49 ___lldb_unnamed_function6119$$MyProject + 9
2   MyProject          0x002928d5 ___lldb_unnamed_function8439$$MyProject + 13
3   MyProject          0x0027fa1f ___lldb_unnamed_function8072$$MyProject + 287
4   MyProject          0x0028e657 ___lldb_unnamed_function8368$$MyProject + 27
5   MyProject          0x002888d1 ___lldb_unnamed_function8257$$MyProject + 201
Run Code Online (Sandbox Code Playgroud)

当我用Xcode 4表示崩溃日志时,它产生了正确的结果 - 它向我展示了我的应用程序中发生崩溃的类和方法.堆栈跟踪中没有涉及匿名块.

为什么Xcode 4和Xcode 5会产生不同的符号化崩溃日志?当我以详细模式运行symbolicatecrash脚本时,它会显示两个Xcode的相同结果:它们匹配正确的.app和.dSYM文件,并且都完成了这些行:

done.
1 binary images were found.
Running /Applications/Xcode.app/Contents/Developer/usr/bin/atos -arch armv7 -l 0xd1000 -o '<PATH>/MyProject.app/MyProject' 0x002928d5 0x002888d1 0x001e0c49 0x0027fa1f 0x000d8f27 0x001df98a 0x0028e657 | 
got symbolicator for <PATH>/MyProject.app/MyProject, base address 4000
Run Code Online (Sandbox Code Playgroud)

tzl*_*tzl 1

我也遇到了 xcode 5 的符号问题

所以我求助于使用atos手动符号化我的符号。

atos -arch armv7 -o myApp.app/myApp 0x178e9e
 -- 
Warning: /usr/bin/atos is moving and will be removed from a future OS X release.
It is now available in the Xcode developer tools to be invoked via: `xcrun atos`
To silence this warning, pass the '-d' command-line flag to this tool.
 -- 
AFJSONEncode (in myApp) + 434
Run Code Online (Sandbox Code Playgroud)

该警告看起来很有趣,所以我决定尝试 xcrun atos

xcrun atos -arch armv7 -o myApp.app/myApp 0x178e9e
___lldb_unnamed_function6926$$myApp (in myApp) + 434
Run Code Online (Sandbox Code Playgroud)

这给了我一个未命名的函数。

所以我的猜测是 Xcode 5 使用的是 xcrun atos,它有一个错误。

使用 atos 确实帮助我诊断问题并修复。我没有安装 Xcode 4。也许您可以验证 Xcode 4 是否产生与 atos 相同的结果?我按照这个问题中的说明进行操作

我很乐意编写一个脚本来表示崩溃日志:/