【问题标题】:Why is my xcode 4.2 log always empty?为什么我的 xcode 4.2 日志总是空的?
【发布时间】:2011-12-12 13:07:11
【问题描述】:

在访问了 3 次的方法中,我想在日志中写入一些内容。

NSLog(@"%@", [response responseString]);

但日志中没有任何内容。日志窗口是完全白色的。通常,当我启动应用程序时,日志中总会显示一些内容,但现在它完全是空的。

我该如何解决这个问题?

【问题讨论】:

  • 你有没有试过把更多的东西放在那里而不只是@"%@"?例如@"TEST TEST TEST %@" 左右...
  • 只是为了确定根本原因,您可以在您的应用程序委托中登录application:didFinishLaunchingWithOptions: 吗?或者甚至创建一个新项目并尝试在那里记录一些内容。
  • 你能搜索日志文件吗? cmd+f?
  • 不行,appdelegate 也登录不了
  • 退出 xcode 并重新打开..

标签: objective-c xcode4.2


【解决方案1】:
NSString *responseString = [response responseString];
NSLog(@"%@", responseString);

在第一行设置断点并调试应用程序以查看它是否首先出现在此代码中。如果是,将鼠标悬停在 responseString 上,它会告诉你它是否为 nil。

【讨论】:

    【解决方案2】:

    当控制台对我来说表现不佳时(有时当我在做驱动程序级别的东西或多线程应用程序时会发生这种情况),更可靠的做法是:

    - (void) printToLog: (NSString *) aFormattedStringToPrint
    {
        // don't forget to remove an older copy of this file before 
        // your app finishes launching
        FILE * aFile = fopen( "/tmp/debuggingoutput.txt", "a");
        if(aFile)
        {
             fprintf(aFile, "%s", [aFormattedStringToPrint UTF8String];
             fflush(aFile);
             fclose(aFile);
        }
    }
    

    (你可以定义一个像LOGTHIS这样的宏,它可以在NSLog和上面的代码之间更直接、更直接地切换)

    然后您可以在调试时在终端窗口中“tail -f /tmp/debuggingoutput.txt”,如果没有出现任何内容,那么您就知道您的调试行没有受到影响。

    【讨论】:

      【解决方案3】:

      也许真的很傻,但是在控制台的右上角你应该看到这个:

      检查中段或右段是否被选中。

      【讨论】:

        【解决方案4】:

        今天我对类似的问题感到沮丧。激活控制台后,仅显示变量窗格。没有控制台窗格的迹象。通过右键单击变量窗格找到调试区域帮助后,我可以看到它位于右侧。

        对我来说关键是隐藏实用程序面板。对我来说,在隐藏和取消隐藏 Utilites 面板之前,卢克的回答中显示的小按钮不会出现。

        【讨论】:

          猜你喜欢
          • 2018-03-26
          • 1970-01-01
          • 2013-10-16
          • 1970-01-01
          • 2017-12-01
          • 2020-11-10
          • 1970-01-01
          • 2021-12-18
          • 2013-03-15
          相关资源
          最近更新 更多