Xcode 6奇怪的(空)对象显示在调试器中
我看到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”上放置了一个断点,并且看到以下调试器状态:
我已经确定我正在启动调试模式,并且构建设置没有问题,请按照以下问题进行操作:Xcode调试器不打印对象并显示为零,但当它们不是
任何想法为什么发生这种情况? 这是我第一次见到这种奇怪的行为。 任何帮助将非常感激。
**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 mode
。
如果你想看到变量值,你必须进入Debug mode
。 步骤是
Edit scheme
Run
设置 Info tab
,然后Build Configuration
Debug
如果它是在“发布”这是你看到的所有零。 如果仍然无法正常工作,请尝试在项目“ Build Settings
Strip debug symbols during copy
将Strip debug symbols during copy
设置为NO
Optimization Level
为None -O0
尝试在您的构建设置中将部署后处理设置为NO并检查。
确保您在生成设置中将调试模式的Link-Time Optimization
设置为否。