假设我有一个变量self.position
,如何在Xcode更改其值时使其断开(许多方法可能会改变它)。
答案 0 :(得分:28)
对于条件破解:
每次都打破价值的变化:
如果你想看看谁调用了setter - 只需查看堆栈跟踪中的下一行(在我的示例中为viewDidLoad):
<强>更新强>
添加观察点
(lldb)
提示符出现在控制台中watchpoint set variable _position
(将_position替换为您要观看的iVar)watchpoint modify -c "_position < 0.5" 1
其中引号中的表达式是条件,最后的数字是您在#3中记下的观察点编号。答案 1 :(得分:6)
设置符号断点。转到断点导航器,单击+,单击“添加符号断点”。在第一个字段中,键入 - [YourSubclassNameHere setPosition:]“,添加您想要的任何其他设置,然后在对话框外单击。
答案 2 :(得分:5)
这样做的简单方法是右键单击监视窗口中的变量并选择监视变量选项。然后Xcode会在值发生变化时提醒您。
或者您可以查看Key-Value Observing。
答案 3 :(得分:2)
您可以在设置变量时覆盖position
的setter以获得断点。