有没有办法调试某个数据结构?
Is there any way to debug a certain data structure?
随着我的 iPhone 应用程序变得越来越复杂,我发现跟踪在整个项目中传递到各种文件的某些数据结构越来越烦人。就在最近,我注意到我在代码的某些部分将我的数组设置为 nil,而我本应删除所有对象。这导致我将对象添加到 nil 数组。
有没有什么方法可以查看某个内存位置并让调试器捕获对数据结构的任何修改?我知道 Xcode 中有一个选项可以捕获调试时发生的错误点,所以我想知道是否有其他选项、方式或建议的方法来捕获对特定结构的修改(NSArray, NSDictionary 等...)
KVO 是一种在修改对象值时获得通知的方法。但是需要额外的代码并且不确定它是否适合你的情况。
- 在要观察的数组在范围内的地方设置断点:作为成员变量,或作为局部变量。
- 运行 您的应用程序,直到它在断点处停止。
- 确保xCode底部的两个调试windows打开。左边的会显示一个变量列表。
- 找到您要监视的那个,select它并单击选项。您应该会看到一个下拉菜单。
- Select "Watch ....."
- 关闭断点,运行你的应用。
更改变量后,您的应用程序将中断。
随着我的 iPhone 应用程序变得越来越复杂,我发现跟踪在整个项目中传递到各种文件的某些数据结构越来越烦人。就在最近,我注意到我在代码的某些部分将我的数组设置为 nil,而我本应删除所有对象。这导致我将对象添加到 nil 数组。
有没有什么方法可以查看某个内存位置并让调试器捕获对数据结构的任何修改?我知道 Xcode 中有一个选项可以捕获调试时发生的错误点,所以我想知道是否有其他选项、方式或建议的方法来捕获对特定结构的修改(NSArray, NSDictionary 等...)
KVO 是一种在修改对象值时获得通知的方法。但是需要额外的代码并且不确定它是否适合你的情况。
- 在要观察的数组在范围内的地方设置断点:作为成员变量,或作为局部变量。
- 运行 您的应用程序,直到它在断点处停止。
- 确保xCode底部的两个调试windows打开。左边的会显示一个变量列表。
- 找到您要监视的那个,select它并单击选项。您应该会看到一个下拉菜单。
- Select "Watch ....."
- 关闭断点,运行你的应用。
更改变量后,您的应用程序将中断。