Objective c 使用「;“数据断点”;关于Xcode

Objective c 使用「;“数据断点”;关于Xcode,objective-c,xcode,breakpoints,Objective C,Xcode,Breakpoints,在Xcode上,是否可以在属性值上设置断点?(例如,如果attr==nil,则停止)我知道它被设置为nil,但我找不到位置和用户。打开Xcode 打开“断点导航器”(cmd+7) 在左下角,单击+按钮 选择“添加符号断点..” 在“符号”中添加:[YourObject setYourAttribute: 在“条件”中添加:yourAttribute==nil 只要YourObject上的yourAttribute设置为nil,就会调用该属性。然后,您可以查看跟踪以查看导致该调用的事件序列。我很确

在Xcode上,是否可以在属性值上设置断点?(例如,如果attr==nil,则停止)我知道它被设置为nil,但我找不到位置和用户。

打开Xcode

打开“断点导航器”(cmd+7)

在左下角,单击+按钮

选择“添加符号断点..”

在“符号”中添加:
[YourObject setYourAttribute:

在“条件”中添加:
yourAttribute==nil

只要
YourObject
上的
yourAttribute
设置为nil,就会调用该属性。然后,您可以查看跟踪以查看导致该调用的事件序列。我很确定这就是你要问的。

打开Xcode

打开“断点导航器”(cmd+7)

在左下角,单击+按钮

选择“添加符号断点..”

在“符号”中添加:
[YourObject setYourAttribute:

在“条件”中添加:
yourAttribute==nil

只要
YourObject
上的
yourAttribute
设置为nil,就会调用该属性。然后,您可以查看跟踪以查看导致该调用的事件序列。我很确定这就是你要问的。

打开Xcode

打开“断点导航器”(cmd+7)

在左下角,单击+按钮

选择“添加符号断点..”

在“符号”中添加:
[YourObject setYourAttribute:

在“条件”中添加:
yourAttribute==nil

只要
YourObject
上的
yourAttribute
设置为nil,就会调用该属性。然后,您可以查看跟踪以查看导致该调用的事件序列。我很确定这就是你要问的。

打开Xcode

打开“断点导航器”(cmd+7)

在左下角,单击+按钮

选择“添加符号断点..”

在“符号”中添加:
[YourObject setYourAttribute:

在“条件”中添加:
yourAttribute==nil

只要
YourObject
上的
yourAttribute
设置为nil,就会调用该属性。然后,您可以查看跟踪以查看导致该调用的事件序列。我很确定这就是你要问的。

1)在方法中设置断点
2) 右键单击断点,然后选择“编辑断点”

3) 添加条件
attr==nil

4) 单击Xcode中的某个地方

您已准备就绪,只要
attr==nil
1)在方法中设置断点,断点就会停止 2) 右键单击断点,然后选择“编辑断点”

3) 添加条件
attr==nil

4) 单击Xcode中的某个地方

您已准备就绪,只要
attr==nil
1)在方法中设置断点,断点就会停止 2) 右键单击断点,然后选择“编辑断点”

3) 添加条件
attr==nil

4) 单击Xcode中的某个地方

您已准备就绪,只要
attr==nil
1)在方法中设置断点,断点就会停止 2) 右键单击断点,然后选择“编辑断点”

3) 添加条件
attr==nil

4) 单击Xcode中的某个地方


您已经准备就绪,只要
attr==nil

,断点就会停止。如果您不使用setter来访问所讨论的变量,则必须直接使用LLDB(Xcode的调试器)来执行所需操作

在您感兴趣的变量在范围内的上下文中设置一个普通断点,并且在您的神秘编写器编写该变量之前。然后,访问调试器窗格,并输入以下命令:

watchpoint set variable -w write <variable-name>
查看我推荐的命令的帮助条目


编辑:显然你也可以。谁知道呢?

如果您不使用setter来访问所讨论的变量,那么您必须直接使用LLDB(Xcode的调试器)来执行您想要的操作

在您感兴趣的变量在范围内的上下文中设置一个普通断点,并且在您的神秘编写器编写该变量之前。然后,访问调试器窗格,并输入以下命令:

watchpoint set variable -w write <variable-name>
查看我推荐的命令的帮助条目


编辑:显然你也可以。谁知道呢?

如果您不使用setter来访问所讨论的变量,那么您必须直接使用LLDB(Xcode的调试器)来执行您想要的操作

在您感兴趣的变量在范围内的上下文中设置一个普通断点,并且在您的神秘编写器编写该变量之前。然后,访问调试器窗格,并输入以下命令:

watchpoint set variable -w write <variable-name>
查看我推荐的命令的帮助条目


编辑:显然你也可以。谁知道呢?

如果您不使用setter来访问所讨论的变量,那么您必须直接使用LLDB(Xcode的调试器)来执行您想要的操作

在您感兴趣的变量在范围内的上下文中设置一个普通断点,并且在您的神秘编写器编写该变量之前。然后,访问调试器窗格,并输入以下命令:

watchpoint set variable -w write <variable-name>
查看我推荐的命令的帮助条目


编辑:显然你也可以。谁知道呢?

即使我确定它不是修改属性值的setter,它也能工作吗?@Kaki-你不使用setter有什么具体原因吗?我已经调查并在应该设置属性的地方设置断点,但程序从未停止过。我想属性可能在某个地方被覆盖了,但我找不到位置。即使我确定它不是修改属性值的setter,它是否有效?@Kaki-您不使用setter有什么具体原因吗?我已经调查并在应该设置属性的任何地方设置断点,但程序从未停止。我想也许是attr