在Xcode上使用“data breakpoint”

时间:2014-11-19 17:32:26

标签: objective-c xcode breakpoints

在Xcode上,是否可以在属性值上设置断点? (例如,如果attr == nil,则停止)我知道它设置为nil,但我无法找到哪里和由谁。

3 个答案:

答案 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)右键单击断点,然后选择“编辑断点”
enter image description here

3)添加条件attr == nil enter image description here

4)点击Xcode中的某处。

您准备好了,断点将在attr == nil

时停止