ios - Xcode 6 奇怪(空)对象在调试器中显示

标签 ios objective-c xcode debugging

我发现 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 6 debugger screen capture

我已经确定我是在 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模式。步骤是

  1. 点击左上角开始/停止按钮附近的项目名称
  2. 进入编辑方案
  3. 进入运行设置
  4. 进入 Info 选项卡,然后进入 Build Configuration
  5. 将其设置为Debug

如果它是在“发布”上,那就是你看到的所有内容。 如果仍然无法正常工作,请尝试在项目 Build Settings

中执行以下操作
  1. Strip debug symbols during copy设置为NO
  2. 优化级别无-O0

关于ios - Xcode 6 奇怪(空)对象在调试器中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26632594/

相关文章:

ios - AFNetworking 使用 HTTPS 而不是 HTTP

ios - 有没有更简单的方法来替换在 xcode 中设置到 xib 中的所有字体?

ios - 我的应用程序因为缺少 "significant account-specific functionality from Google"而被拒绝

ios - NSMutableSet removeObject 无法移除对象

ios - 如何在 MPMoviePlayerController 上处理多个 SRT 文件

javascript - iOS/Javascript - 如何使用 Javascript 访问设备上的图像

iOS 应用程序 : running on simulator but not building the. 应用程序

ios - 如何使用GLKit绘制线条(线框)?

objective-c - removeAllObjects 消息能够删除使用 NSMutableArray 参与保留循环的添加对象

iphone - 更新到 lion 和 xCode 后内存集崩溃