Xcode调试器不再显示违规行,而是始终显示UIApplicationMain

问题描述 投票:2回答:2

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

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

我可以通过在代码中或多或少地放置打印语句来说明问题出现的地方,但是......如果调试器从未传达任何信息,那么调试器的重点是什么?我只需要使用print语句执行所有“旧学校”操作 - 特别是如果有异步进程正在进行,其中print语句不是必要的可靠指示崩溃发生的位置?

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

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

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

xcode swift debugging xcode7
2个回答
4
投票

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

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


0
投票

之前的答案是正确的,但今天这个答案更有意义:

在使用Swift 4的Xcode 9.2上,执行以下操作:

  1. 使用Command-8打开Debug Navigator。
  2. 单击左下方的+
  3. 选择Swift Error Breakpoint

而已! :)

© www.soinside.com 2019 - 2024. All rights reserved.