我习惯于xCode 4,但我需要将xCode 3用于项目。
当我收到运行时错误时,xcode3不会突出显示问题所在的代码行。
不应该告诉我吗?
查看此屏幕截图:
我已编写此代码以使应用程序崩溃,并且我正在使用调试器。
当前代码突出显示,但如果我继续前进,我看不到任何突出显示的行。
答案 0 :(得分:1)
尝试启用NSZombieEnabled,malloc堆栈日志记录,并保护malloc(env变量,或者通过选中xcode调试菜单中的框,它应该会让您更加了解有关异常的更多信息。
Check out this article for more info on NSZombieEnabled
This one for MallocStackLogging info
More info on guard malloc here
有时异常不会在坏代码行中破坏,因为导致错误的消息实际上不是发生问题的地方,它通常会在框架代码中的某处抛出异常,这就是为什么在gdb中会看到一堆程序集的原因最后暂停执行。如果发生这种情况,您可以运行:
(gdb) info malloc-history 0x123456
其中0x123456是被释放后发送消息的对象的地址,它将显示更有用的堆栈跟踪。