【问题标题】:NSLog not working when "wait for executable to be launched" is set设置“等待可执行文件启动”时 NSLog 不起作用
【发布时间】:2014-09-20 15:48:36
【问题描述】:

我只是根据主题行探索调试。我注意到虽然这很容易工作,但 NSLog 没有输出,但中断确实会受到影响。这没有帮助 ;) .. 我在编辑方案窗口中看不到任何明显的选项。

这是为了测试推送,但首先我只是手动启动应用程序以确保进程正常运行(等待应用程序手动启动等)..

感谢您的任何提示..

【问题讨论】:

  • 断点工作。了解如何使用它们进行日志记录:)
  • 在模拟器断点上不起作用,但在我的 iPhone 6s 上没问题。另一种选择是使用日志系统,例如 SwiftyBeaver
  • 我刚刚遇到了这个问题。我将打印更改为基于断点的日志,并且日志显示在调试器控制台上。

标签: ios debugging


【解决方案1】:

如果您让进程正常启动,那么日志将已经连接到 ASL。调试器没有很好的方法在事后重新路由此连接。您必须在设备控制台中查看日志。在 Xcode 6 中,选择 Windows->Devices,然后在内容窗口底部有一个小显示小部件,它将显示设备控制台。

【讨论】:

  • 真棒吉姆,我刚刚学到了一些新的和非常有价值的东西,非常感谢。 Xcode 的奇迹从未停止。
  • 另外一个提到那个虚幻的披露按钮
  • 它在“设备”窗口中的相同位置。很容易错过小披露小部件(一旦您从设备列表中选择了您的设备,它就会显示在内容窗格的左下角。)但它仍然存在。
  • 这个控制台似乎不包括 NSLog out.. 只有系统的东西?
  • 如果你使用的是 Swift,print() 不会出现在日志中,你需要使用 NSLog。我还发现查看消息的最佳方式是在控制台中搜索您的应用名称。然后,将 any 更改为 Process,您将只看到您的 NSLogs(或显示在 xcode 控制台窗口中的那些)。
【解决方案2】:

使用断点记录您想要的任何内容

断点右键->编辑断点

  • 选中“评估选项后自动继续”以确保应用不会在中断时停止
  • 将操作添加到您需要的日志信息中

【讨论】:

  • 我看到这个消息的原始语气被改变了,谢谢,但是这个评论错过了一年前回答的原始问题的重点。但无论如何,谢谢你..
  • 使用断点打印的好处是您不需要重新编译项目。您可以在运行时添加/删除断点
  • @PauliusVindzigelskis 使用断点打印的坏处在于它的速度要慢得多,因此对时间敏感的东西的任何调试都不会顺利进行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-01
  • 2016-01-02
  • 1970-01-01
  • 2013-07-22
相关资源
最近更新 更多