我发现 Xcode 6 调试器有一个奇怪的行为。 我使用以下代码创建了一个单例共享实例:
+ (instancetype)shared
{
static DataBaseManager *sharedInstance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedInstance = [[DataBaseManager alloc] init];
});
return sharedInstance;
}
在通过调用如下方法初始化对象之后:
DataBaseManager *manager = [DataBaseManager shared];
NSLog(@"");
我在“NSLog”上放置了一个断点,我看到了以下调试器状态:
我已经确定我是在 Debug模式下启动的,并且build设置没有问题,请按照此处的问题:Xcode debugger doesn't print objects and shows nil, when they aren't
关于为什么会发生这种情况的任何想法? 这是我第一次看到这种奇怪的行为。 任何帮助将非常感激。
**UPDATE**
A bug was reported to apple bug report system.
The bug status is: Duplicate of 17164538 (Closed)
so it is probably a known bug in Xcode.
最佳答案
调试代码时不应处于 Release模式
。
如果您想查看变量值,您必须处于 Debug模式
。步骤是
- 点击左上角开始/停止按钮附近的项目名称
- 进入
编辑方案
- 进入
运行
设置 - 进入
Info 选项卡
,然后进入Build Configuration
- 将其设置为
Debug
如果它是在“发布”上,那就是你看到的所有内容。
如果仍然无法正常工作,请尝试在项目 Build Settings
- 将
Strip debug symbols during copy
设置为NO
优化级别
到无-O0
关于ios - Xcode 6 奇怪(空)对象在调试器中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26632594/