【发布时间】:2010-10-16 04:07:44
【问题描述】:
所以我的应用程序崩溃了,我对如何使用 XCode 进行调试有点茫然。
我在 macforums 上找到了一个关于在“objc_exception_throw”处放置断点的论坛......虽然我不确定从那里去哪里。
在 XCode 中调试的任何一般准则?
【问题讨论】:
标签: objective-c xcode debugging
所以我的应用程序崩溃了,我对如何使用 XCode 进行调试有点茫然。
我在 macforums 上找到了一个关于在“objc_exception_throw”处放置断点的论坛......虽然我不确定从那里去哪里。
在 XCode 中调试的任何一般准则?
【问题讨论】:
标签: objective-c xcode debugging
当程序崩溃时,它会转储堆栈跟踪。您应该能够找到导致崩溃的行。然后在前几行放置一个断点并检查一下。
堆栈跟踪通常只包含数字。要获得人类可读的符号,您可以使用:
atos -o /Users/NNN/XXX/build/Debug-iphonesimulator/XXX.app/XXX [来自堆栈跟踪的编号]
大多数崩溃是由于内存在应该释放之前被释放。这通常是由于没有保留对象造成的。您可以使用 retainCount 方法打印任何对象的保留计数。
进入调试器后,您可以使用:
po 一些对象
打印有关对象的信息。或获取保留计数:
打印 [someObject retainCount]
【讨论】: