我一直在试图解决这个崩溃,只是不知道从哪里开始。有人可以帮我弄清楚如何使用Xcode的工具来正确导航这些信息来找到罪魁祸首?我甚至不知道这些细节是:如何追踪CFRetain崩溃?
0
A
回答
1
仪器工具应该是您的第一个呼叫端口 - 特别是泄漏和分配分析仪。
要使用它,请在Xcode的产品菜单中选择Profile
选项。
您可能想要使用NSZombie
对象进行调查,该对象旨在捕捉对象的过度释放。
这当然可能是你只是将一个指针传递给不是Core Foundation/Cocoa对象的地方。
1
的Xcode的调试良好的第一步通常是设置一个异常断点。为此,请选择左边栏中的例外选项卡,然后单击底部的加号并选择例外断点。这可以提供帮助,因为它会在抛出异常时暂停执行,从而更容易追踪。
也就是说,基于你发布的屏幕截图,它看起来像一个对象被释放两次,所以这可能没有多大帮助。在整个代码中使用日志语句或附加断点可能会帮助您追踪问题发生的位置。
屏幕截图中显示的详细信息是编译后的汇编代码,用被调用的内容注释。 CFRetain被可可内部使用来释放对象(即在执行-release时)。
相关问题
- 1. 在Winform中跟踪崩溃
- 2. 如何追踪NSTouches?
- 3. Symbolicate iOS崩溃堆栈跟踪无崩溃日志
- 4. 追加QGraphicsItems到QGraphicsItemGroup导致崩溃
- 5. Win32:如何崩溃?
- 6. 如何追踪dynamoDB交易
- 7. 如何追踪log4net问题
- 8. 如何追踪文件?
- 9. Cobalt包Opus如何追踪?
- 10. LogCat。如何追踪错误?
- 11. 从非调试内置模块追踪崩溃的源代码行
- 12. 如何追踪asp.net页面大小而不追踪?
- 13. 如何在新的追踪中追踪所有的Android版本?
- 14. 阅读iOS Webkit崩溃堆栈跟踪
- 15. iPhone与“没有跟踪”崩溃
- 16. CoreOS VM崩溃:打印交换跟踪
- 17. Phusion Passenger正在崩溃......我如何获得堆栈跟踪?
- 18. 如何从生产堆栈跟踪中找到崩溃原因
- 19. 在C#中如何收集程序崩溃的堆栈跟踪
- 20. 如何跟踪ios8扩展应用程序的崩溃报告?
- 21. 如何阅读堆栈跟踪误差崩溃报告
- 22. TextInput崩溃 - 如何调试?
- 23. 如何强制apache崩溃?
- 24. 如何调试IE8崩溃?
- 25. 如何“崩溃”,但在XLST
- 26. NSKeyedUnarchiver - 如何防止崩溃
- 27. 如何处理硒崩溃
- 28. 如何修复java.lang.NoClassDefFoundError崩溃
- 29. 如何诊断eclipse崩溃?
- 30. 如何调试VB6崩溃?