为什么xcode调试时总是中断?


无论我在try catch 里还是 在setuncaughtexception里捕获异常,xcode无法捕获到异常,直接报错中断,为啥?

xcode ios

yohyoh 11 years, 7 months ago

不一定都是异常,有些东西无法捕获,例如你向一个deallocated的对象发送消息就不是异常,例如:

   
  NSString *obj = @"something";
  
[obj release];
[obj description]; // 失败且无法被try/catch捕获

向deallocated的对象发送消息默认在console中不会显示任何信息,要查看是否是对象deallocated导致,从Xcode的左上角Scheme处点击Target名称(>左边部分),选择Edit Scheme...,在右侧Diagnostics中勾选Enable Zombie Objects来确认console显示正确的错误信息

当然也可能是由于其他的问题导致,例如在代码中显式的调用exit(1)(很多目标为命令行使用的c库会调用)等等,所以最重要的还是观察console信息

huangz answered 11 years, 7 months ago

Your Answer