【发布时间】:2013-11-24 12:46:39
【问题描述】:
我正在尝试调试一些并发代码,当我记录 [NSThread callStackSymbols];控制台将我感兴趣的大多数符号显示为
有没有办法在运行时解决这个问题?我已经删除了设备符号文件夹,但 Xcode 重新符号化似乎并没有解决问题。
这里还有一些其他问题,但他们似乎都在尝试解决崩溃文件的问题。
如何在调试控制台中查看框架符号的方法名称?
我正在运行 Xcode 5。
【问题讨论】:
-
如果您想以这种方式调试 IPA,我认为唯一的方法是获取正确的堆栈跟踪(网上有关于如何使用 C 进行此操作的示例),然后使用相关的 dSYM 对其进行符号化.
-
是的,我知道这一点,谢谢。我正在尝试调试不规则导致崩溃的问题。所以我不能依赖崩溃报告或重新创建崩溃,因为崩溃并不总是被触发,而是 NSManagedObjects 被不同的线程错误地访问。
-
我认为您不必等待崩溃。 IIRC,好的 ol' C 有一些方法可以在运行时获取带有地址的堆栈跟踪。然后您可以手动(=编写脚本)将它们转换为符号。
-
@VladimirGritsenko 只有地址是不够的,请在下面阅读我的回答!
-
@VladimirGritsenko [NSThread callStackSymbols];记录地址和符号。
标签: ios debug-symbols