Xcode不会向输出控制台写任何内容

时间:2013-11-07 05:34:24

标签: ios xcode

我正在使用iPhone / iPad应用。突然输出控制台停止显示任何消息。我试图打开旧项目 - 工作得很好。所以我认为本地项目的存储库以某种方式被破坏,所以我尝试创建一个新项目 - 根本没有消息写入控制台输出。我是否意外地使用了Xcode设置?我完全失去了沮丧和沮丧。

如果您有任何想法,请提供帮助。

感谢。

15 个答案:

答案 0 :(得分:35)

在调试区域中,点击右半个方块。

debug area

N.B。面积缩小图像尺寸。你应该更宽。

答案 1 :(得分:19)

这个问题遍布整个地方,并且是一个有效的问题,指向大多数xcode版本中的随机错误。显然,到达这些答案的大多数人都无法使用xcode,因此可以相信显示控制台'键入答案。我已经在一个大型项目工作了6年,现在每个月左右出现一次。我重新启动设备,重新启动xcode,站在角落里唱着扬基涂鸦花花公子。作为一个明显且可重复的修复,我没有发生任何事情。最终我将在一天早上开始工作,它将再次运作。我没有做过任何明显的修复,也没有安装任何更新。只是那些认为他们会发疯的人。

答案 2 :(得分:13)

请确保您选择了所有输出

enter image description here

答案 3 :(得分:1)

不完全确定发生了什么,但现在一切正常(今天我再次启动Xcode之后)。我确实打开了所有内容(显示输出控制台并选中“全部”)。

感谢大家的帮助。

答案 4 :(得分:1)

这也发生在我身上,结果如下:

  • 已安装我的应用OTA的发布版本
  • 安装在XCode / debugger
  • 中的发布版本之上

只有在我从iPhone主屏幕删除应用程序并通过在调试器中运行应用程序再次重新安装后,控制台输出才重新开始工作。

答案 5 :(得分:1)

让我们一步一步地解决这个问题

NSLog发布到stderr流而不是stdout。

因此,首先使用旧学校printf函数(UTF8string)检查stdout是否也有问题。如果这也不起作用,则问题很可能不在于日志记录功能。如果它确实有效,问题可能是stderr流或NSLog函数

尝试登录到文件后,通过将stderr重定向,然后将stdout重定向到文件。 (freopen / dup2函数)如果此日志正确,则问题可能出在您的Xcode项目或控制台中。

请注意,如果您已经在使用某种重定向,则不会在控制台中打印日志。它们将在控制台或文件中打印

尝试执行更多类似的实验来本地化您的问题。 请根据您的观察对此答案发表评论,以便我们更好地了解该问题

答案 6 :(得分:1)

在我的情况下,这是由于达到资源限制。 iTerm无法分叉新流程。

退出某些应用或增加资源限制可能有所帮助。

答案 7 :(得分:1)

XCode 9,问题仍然存在。我确实发现,当这种情况开始发生时,我不会显示调试区域(图中的中间按钮)。然后当我重新运行应用程序时,调试区域恢复正常,控制台显示正确。

enter image description here

答案 8 :(得分:1)

面向iOS 11的Xcode 10.1,Xcode在几分钟后停止显示从一个版本到另一版本的控制台输出。

在我的方案中,我将OS_ACTIVITY_MODE作为环境变量使用,并且在Xcode的控制台中没有任何输出。

如果我从方案中禁用或删除OS_ACTIVITY_MODE,我的日志将显示在控制台中-遗憾的是,系统日志也很多。

尝试在“环境”部分的“编辑方案”>“运行”中禁用OS_ACTIVITY_MODE。

答案 9 :(得分:0)

可疑的人都会遇到我同样的问题,但是我的原因是我的iPad已使用JAMF或MVM部署设置为“单应用程序模式”,并且不会将任何内容记录到控制台。其他设备会打印到控制台,但处于“单应用程序模式”的应用程序不会。

答案 10 :(得分:0)

我已经建立了一个新方案,并在“启动”选项上进行了检查: “等待可执行文件启动”(如下图所示)

显然会根据此禁用NSLog ...

NSLog not working when "wait for executable to be launched" is set

enter image description here

答案 11 :(得分:0)

Using filter?

A similar thing happened to me. In my case, I had by misstake entered a filter in the status bar of the debug area. Only rows that match the filter are displayed, and since my filter was rubbish nothing was displayed.

答案 12 :(得分:0)

尝试按垃圾桶图标。

我知道这很愚蠢,但就我而言,它确实有效。它可能已经刷新了日志输出控制台:

enter image description here

答案 13 :(得分:0)

我已将OS_ACTIVITY_MODE检查为禁用。 一旦我删除此控制台将再次显示调试信息。 enter image description here

答案 14 :(得分:0)

也可能有人放了

#define NSLog(...);

输入您的代码。这几乎限制了所有输出。