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

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

灵芸 发布于 2017-10-13 字数 107 浏览 1187 回复 1

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

泛泛之交 2017-10-23 1 楼

不一定都是异常,有些东西无法捕获,例如你向一个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信息