Ios Xcode调试(断点)问题

Ios Xcode调试(断点)问题,ios,xcode,debugging,xcode6,conditional-breakpoint,Ios,Xcode,Debugging,Xcode6,Conditional Breakpoint,我正在用Xcode 6.4为iOS 8.4编写一个iOS应用程序,它位于Objective-C。我有一个变量(实际上是数组中的一个项)以意外的方式更改 为了找出发生了什么,我想有一种方法,在变量即将发生(或刚刚发生)更改时,使用某种“特殊断点”使程序暂停 这是否可能,如果是,如何实现?您需要的是一个观察点(请参阅“设置观察点”) 基本上,它们监视内存中的写操作,并在写操作发生时中断程序 我认为您只能从调试控制台(而不是Xcode UI)设置它们,使用: (lldb) watchpoint set

我正在用Xcode 6.4为iOS 8.4编写一个
iOS
应用程序,它位于
Objective-C
。我有一个变量(实际上是数组中的一个项)以意外的方式更改

为了找出发生了什么,我想有一种方法,在变量即将发生(或刚刚发生)更改时,使用某种
“特殊断点”
使程序暂停


这是否可能,如果是,如何实现?

您需要的是一个观察点(请参阅“设置观察点”)

基本上,它们监视内存中的写操作,并在写操作发生时中断程序

我认为您只能从调试控制台(而不是Xcode UI)设置它们,使用:

(lldb) watchpoint set variable myinstancevar


这里的问题是,他想让调试器停止对数组的任何更改。即使添加或删除OBEJCT,数组在内存中也始终具有相同的指针。监视点只跟踪内存位置的更改。因此,如果将数组从nil更改为其他值,那么它将停止。但是数组上的更改不会发生。@Pauls,这是错误的,变量本身的任何更改都将停止。例如,在某个类中添加简单整数,并在几个不同的位置添加增量。设置了观察点,你们就会看到每次你们调用增量程序的时候都会停止(使用旧的和新的值),我刚刚测试过,不起作用。我在一个类中创建了一个可变数组。我在变量中添加了一个观察点。然后,当我滚动时,我将对象添加到该数组中,以检查它是否停止。没有。你能提供一个例子吗?@Pauls我的假设是OP会将监视点放在被添加到数组中的对象上。我现在正在查找,但似乎不可能监视数组的元素,除非它需要我没有找到的特定语法。当我观察阵列本身时,我看不到任何变化。
(lldb) w s v myinstancevar