Xcode调试器不再显示有问题的行,而是UIApplicationMain

时间:2015-09-28 00:34:37

标签: xcode swift debugging xcode7

我不知道我的设置有什么变化,但过去是因为当我的(Swift)代码崩溃时,调试器会显示有问题的源代码行。

现在无论出现什么问题,调试器只会突出显示定义了UIApplicationMain的AppDelegate.swift中的行。

我可以通过在代码中或多或少地放置打印语句来说明问题出现,但是......如果调试器从未传达任何信息而且我只需要做所有事情"旧学校"使用print语句 - 特别是如果有异步进程,其中print语句不是一个可靠的指示崩溃发生位置的指示器吗?

我已经看过很多年前谈到进入"首选项 - >的线程。行为"并在代码意外退出时修改显示的内容。但是(a)我过去从不需要这个,更重要的是(b)这似乎没有任何效果,即调试器仍然只是放弃了主。

是否有一种很好的方法可以恢复旧的,特定的调试行为?

我目前正在运行Xcode 7.0,但这种行为发生在7-GM种子上,甚至现在我回去尝试7 beta 5和beta 6,这曾经工作过。

2 个答案:

答案 0 :(得分:4)

转到Debug Navigator(cmd-7),单击底部的加号按钮,然后选择Add Exception Breakpoint。这将在发生问题的实际行中中断。

在异常断点详细信息编辑器中创建调试器命令操作,并在文本框中输入po $arg1。这将在调试控制台中显示错误消息。

答案 1 :(得分:0)

之前的答案是正确的,但今天这个答案更为重要:

在带有Swift 4的Xcode 9.2上,执行以下操作:

  1. 使用 Command-8 打开Debug Navigator。
  2. 点击左下角的 +
  3. 选择 Swift错误断点
  4. 就是这样! :)