在Xcode上,是否可以在属性值上设置断点? (例如,如果attr == nil,则停止)我知道它设置为nil,但我无法找到哪里和由谁。
答案 0 :(得分:2)
打开Xcode。
打开'断点导航器'(cmd + 7)
在左下角,单击+按钮
选择“添加符号断点...”
在'符号'中添加:[YourObject setYourAttribute:]
在'条件'中添加:yourAttribute == nil
yourAttribute
YourObject
上的{{1}}设置为nil时,会调用此方法。然后,您可以查看跟踪以查看导致该调用的事件序列。我很确定你问的是什么。
答案 1 :(得分:1)
如果您不使用setter访问相关变量,则必须直接使用LLDB(Xcode的调试器)来执行您想要的操作。
在您感兴趣的变量在范围内的上下文中,以及在您的神秘作者编写之前设置正常断点。然后,访问调试器窗格,并输入以下命令:
watchpoint set variable -w write <variable-name>
其中<variable-name>
是您要观看的变量的名称 - 在这种情况下可能是attr
。这将设置一个硬件观察点,它将在您的变量更改时触发。
如果您想更多地探索LLDB,请在调试器中尝试帮助命令。例如,您可以输入:
help watchpoint set variable
查看我推荐的命令的帮助条目。
编辑:显然您也可以set such watchpoints from the Xcode GUI。谁知道?
答案 2 :(得分:0)
1)在方法
中设置断点
2)右键单击断点,然后选择“编辑断点”
3)添加条件attr == nil
4)点击Xcode中的某处。
您准备好了,断点将在attr == nil