2016-04-15 36 views
1

我无法在调试时在控制台中获取字典/数组值。如何在Xcode 7.3中访问控制台中的'self'

它总是显示信息,而PO词典/阵列状

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

Check the screenshot here

+0

你使用断点 –

+0

提供的截图 –

+1

@TysonVignesh是,在这两种方式,使用断点并在控制台中使用PO命令。 – Merry

回答

2

您可以检查在控制台窗口中使用po [self variablename]属性和变量的值。通过这种方式,您可以轻松访问变量。

此外,您可以检查与其他项目天气问题是与xcode或在您的项目配置。

您还可以展开调试区域中的折叠值。如果它正在扩展,那么只需使用po variablename即可访问值,否则您需要使用po [self variablename]

enter image description here

+1

谢谢。它正在工作。 – Merry

0

这是一个调试器的bug(是啊,想象一下!)

只需重新启动的XCode,它不该”不再是你的问题:)

编辑:

心灵!我正在想别的东西。

您正在创建一个保留周期,并且到目前为止,调试器以这种方式对这个特定的保留周期进行分类(正如我所说的,一个错误)。

为了解决这个问题,创建自的弱副本:

__weak __typeof(个体)weakSelf =自我;

然后对于用于给你的麻烦了自我:

变化self.object到weakSelf.object

来源:"self" not available in debugger on iOS 5.1

+0

我已经尝试了通过重新启动xcode。而且我在xCode 7.3之前也看到了这个错误,在stackoverflow的一些问题中。 – Merry

0

请参考下面的屏幕截图在那里我有印刷的价值阵列 enter image description here

+1

这件事在我的代码中不起作用,那就是问题所在。 – Merry

+0

你可以提供像这样的屏幕截图,你把断点和你如何打印值,这可以给我们清楚的上下文 –

+1

我已经附上自己的问题截图。查看这个[link](http://i.stack.imgur.com/XgkY0.png)了解更多详情。即使我不能在调试区域扩展Self。 – Merry

1

我想同样的问题,并找到了这个解决方案。将这个clang模块更改为调试DEBUG为NO和RELEASE为YES将解决您的问题。

查看下面的链接。

Accessing Self in LLDB

相关问题