Xcode在 release 模式下进行调试,打印的时候可以正常输出,断点调试却无法获取到对象的值, 这是怎么回事?
原因:Xcode在release 模式下默认开启编译优化,关掉断点时候读取变量的上下文环境,以提高运行速度。Release 打印的日志变少也是一样的原因。
Xcode工程设置,选择对应Target -> build setting -> optimization level
如图:
想要在release模式下进行断点调试,我们需要调整编译优化等级,简单粗暴,直接设置成None就行了:
Xcode 不走断点 无非以下几种情况
今天,我在调试一个非常紧急的bug,突然Xcode不走断点了。于是乎,就找些资料,解决一下,记录一下。
第一种,debug模式下,Xcode不走断点
解决方法:edit scheme -> info,build configuration 修改为Debug,Debug executable前的对勾打上。
第二种,debug模式下,xcode不在断点代码处停止,会进入线程
解决方法:Debug->Debug Workflow->always show disassembly前的对勾关掉。
第三种,debug模式下,xcode不走pod第三方库的断点
解决方法:试一下 clean一下再重新build。或者重启xcode,或者将断点全部删掉,重新添加