如何在LLDB中debugging成员variables(即,数组,字典)?

我已经在下面声明了一个全局数组/字典。

@interface ViewController () { NSDictionary *dictionary; NSArray *array; } 

我正在进行API调用并将值存储在这些数组和字典中。 我想在运行期间打印LLDB中的数组/字典的内容。

当我尝试打印这些全局variables,它给了我下面的错误。

 (lldb) po assigneeArr error: warning: Stopped in a context claiming to capture an Objective-C object pointer, but 'self' isn't available; pretending we are in a generic context error: use of undeclared identifier 'assigneeArr' error: 1 errors parsing expression 

那么我怎么能debugging这个全局声明的variables?

在这里输入图像说明

那些不是全局variables; 他们是实例variables,所以你需要一个ViewController的实例,然后才能看到它们的值。

一旦你有实例,那么就像使用->运算符一样简单( vc是实例):

 po vc->dictionary 

注意:我build议使用下划线作为实例variables名称的前缀,以避免与参数和局部variables混淆。

最后,通过更改Apple LLVM 7.1语言模块中的 Enable Clang Module Debugging来解决我的问题,如下面的屏幕截图所示

启用铿锵模块调试

参考: https : //stackoverflow.com/a/36176158/4014369

请做下面的步骤:
1.按下键盘Command + Shift + y。 它将为您的项目打开debugging区域。
2.在debugging区的右下angular可以find垃圾桶的图标。 在“垃圾桶”图标旁边,您可以find隐藏variables视图隐藏控制台两个选项。 两者都会显示(将以蓝色边框显示)
3.把断点放在你使用你的字典/数组的地方
4.您可以在debugging区域的左侧find您的字典/数组值。
5.请右键点击你的字典/数组 。 你会得到第一个选项即字典/数组的打印描述
6.点击它后,您将在控制台中获得它的全部价值。 (debugging区右侧)

你也可以参考下面的屏幕截图。

在这里输入图像说明